Visão Geral

O componente DatasulUpload tem como objetivo realizar upload de arquivos para o servidor.

A imagem a seguir mostra um exemplo do componente DatasulUpload:

Figura 1 - Ponto inicial do componente.

 

Figura 2 - Popup para seleção dos arquivos a serem transferidos para o servidor.

 

Atributos

O componente possue 2 atributos excenciais para seu correto funcionamento:

Atributo

Descrição

storageMode

Modo com que será armazenado os arquivos. Podendo ser temporary (temporário) ou definitive (definitivo).Obs: Definitivo ainda indisponível.

selectionFileMode

Quantidade de arquivos que o usuário poderá selecionar. Podendo ser single (único) ou multiple (vários).

 

Modo de Uso

O componente DatasulUpload no Metadados pode ser utilizado através de formulários do tipo FreeForm,  conforme mostra a figura abaixo da paleta de componentes:

Figura 3- Localização na paleta de componente no freeform

 

Lista de Comandos ABLScript para Interação com um DatasulUpload

Método/Atributo

Descrição

GETPROPERTY ( upload, "files" )

Retorna uma Temp-Table contendo as informações (name, type, size) dos arquivos selecionados pelo usuário.

SETPROPERTY ( upload, "filtersFile", ttFiltersFile )

Atribui uma Temp-Table contendo a descrição (description) e os tipos de arquivos (extension) que podem ser selecionados para realizar o upload

 

Exemplos

Veremos a seguir um exemplo de como pegar os arquivos que foram selecionados pelo usuário:

/* Referência para o componente de upload */
DEFINE VARIABLE upload AS WIDGET-HANDLE.
/* Formato da Temp Table retornado pela função de pegar a propriedade files */
DEFINE TEMP-TABLE ttFiles
FIELD name AS CHARACTER
FIELD type AS CHARACTER
FIELD appServerPath AS CHARACTER
FIELD jbossPath AS CHARACTER
FIELD size AS DECIMAL.
/* Pega as propriedades dos arquivos que foram realizados upload e selecionados pelo usuário */
ttFiles = GETPROPERTY(upload, "files").

 


 

  
Observações:
  • Para o correto funcionamento, a Temp-Table deve ter a mesma estrutura (name,type e size) , como mencionado no exemplo acima.
  • A propriedade size está em (Kb).

 

 

Agora veremos um outro exemplo de como filtrar os tipos de arquivos que o usuário poderá fazer upload*:

/* Referência para o componente de upload */
DEFINE VARIABLE upload AS WIDGET-HANDLE.
/* Estrutura de dados necessária para os filtros de arquivos*/
DEFINE TEMP-TABLE ttFiltersFile
FIELD description AS CHARACTER
FIELD extension AS CHARACTER.
/* Documentos */
CREATE ttFiltersFile.
ttFiltersFile.description = "Documentos".
ttFiltersFile.extension = "*.txt;*.doc;*.pdf;".
/* Imagens */
CREATE ttFiltersFile.
ttFiltersFile.description = "Images".
ttFiltersFile.extension = "*.png;*.jpeg;*.bmp".
/* Atribui ao componente de upload os tipos de arquivos que podem ser feitos upload */
SETPROPERTY(upload,"filtersFile",ttFiltersFile).

 


 

  
Observações:
  • Para o correto funcionamento, a Temp-Table deve ter a mesma estrutura (description e extension), como mencionado no exemplo acima.
  • Caso não informado os filtros ao componente, o usuário poderá escolher qualquer tipo de arquivo para realizar o upload.