API HTTP
O upload de arquivos dos campos de anexos e das tabelas de arquivos pode ser processado por meio da API HTTP. Dependendo do mecanismo de armazenamento utilizado pelo anexo ou pela tabela de arquivos, há diferentes formas de chamada.
Upload pelo servidor
Para mecanismos de armazenamento de código aberto integrados ao projeto, como S3, OSS e COS, a API HTTP utiliza a mesma chamada da função de upload da interface do usuário, e todos os arquivos são enviados pelo servidor. As chamadas à API devem incluir, no cabeçalho de requisição Authorization, um token JWT baseado no login do usuário; caso contrário, o acesso será recusado.
Campo de anexos
Envie uma requisição POST ao recurso da tabela de anexos (attachments), executando a operação create, e faça o upload do conteúdo binário por meio do campo file. Após a chamada, o arquivo será enviado ao mecanismo de armazenamento padrão.
Para enviar o arquivo a um mecanismo de armazenamento diferente, use o parâmetro attachmentField para especificar o mecanismo de armazenamento configurado para o campo da tabela de dados (se não estiver configurado, o arquivo será enviado ao mecanismo de armazenamento padrão).
Tabela de arquivos
O upload para uma tabela de arquivos gera automaticamente um registro de arquivo. Envie uma requisição POST ao recurso da tabela de arquivos, executando a operação create, e faça o upload do conteúdo binário por meio do campo file.
Não é necessário especificar o mecanismo de armazenamento ao fazer upload para uma tabela de arquivos; o arquivo será enviado ao mecanismo de armazenamento configurado para essa tabela.
Upload pelo cliente
Para mecanismos de armazenamento compatíveis com S3 fornecidos pelo plug-in comercial S3-Pro, o upload pela API HTTP precisa ser realizado em várias etapas.
Campo de anexos
-
Obter informações do mecanismo de armazenamento
Execute a operação
getBasicInfono recurso da tabela de armazenamento (storages), incluindo o identificador do espaço de armazenamento (storage name), para solicitar as informações de configuração do mecanismo de armazenamento.Exemplo das informações de configuração retornadas pelo mecanismo de armazenamento:
-
Obter informações pré-assinadas do provedor
Envie uma requisição POST ao recurso
fileStorageS3, executando a operaçãocreatePresignedUrl, e inclua no body as informações relacionadas ao arquivo para obter as informações de upload pré-assinado.Observação:
- name: nome do arquivo
- size: tamanho do arquivo (em bytes)
- type: tipo MIME do arquivo. Consulte: Tipos MIME comuns
- storageId: ID do mecanismo de armazenamento (campo
idretornado na primeira etapa) - storageType: tipo do mecanismo de armazenamento (campo
typeretornado na primeira etapa)
Exemplo de dados da requisição:
A estrutura dos dados das informações pré-assinadas obtidas é a seguinte:
-
Upload do arquivo
Use o
putUrlretornado para fazer uma requisiçãoPUTe envie o arquivo como body.Observação:
- putUrl: campo
putUrlretornado na etapa anterior - file_path: caminho do arquivo local a ser enviado
Exemplo de dados da requisição:
- putUrl: campo
-
Criar o registro do arquivo
Após o upload ser concluído, envie uma requisição POST ao recurso da tabela de anexos (
attachments), executando a operaçãocreate, para criar o registro do arquivo.Descrição dos dados necessários em data-raw:
- title: campo
fileInfo.titleretornado na etapa anterior - filename: campo
fileInfo.keyretornado na etapa anterior - extname: campo
fileInfo.extnameretornado na etapa anterior - path: vazio por padrão
- size: campo
fileInfo.sizeretornado na etapa anterior - url: vazio por padrão
- mimetype: campo
fileInfo.mimetyperetornado na etapa anterior - meta: campo
fileInfo.metaretornado na etapa anterior - storageId: campo
idretornado na primeira etapa
Exemplo de dados da requisição:
- title: campo
Tabela de arquivos
As três primeiras etapas são iguais às do upload de um campo de anexos, mas na quarta etapa é necessário criar o registro do arquivo. Envie uma requisição POST ao recurso da tabela de arquivos, executando a operação create, e envie as informações do arquivo no body.
Descrição dos dados necessários em data-raw:
- title: campo
fileInfo.titleretornado na etapa anterior- filename: campo
fileInfo.keyretornado na etapa anterior- extname: campo
fileInfo.extnameretornado na etapa anterior- path: vazio por padrão
- size: campo
fileInfo.sizeretornado na etapa anterior- url: vazio por padrão
- mimetype: campo
fileInfo.mimetyperetornado na etapa anterior- meta: campo
fileInfo.metaretornado na etapa anterior- storageId: campo
idretornado na primeira etapaExemplo de dados da requisição:

