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.
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). |
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
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 |
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 ttFilesFIELD name AS CHARACTERFIELD type AS CHARACTERFIELD appServerPath AS CHARACTERFIELD jbossPath AS CHARACTERFIELD size AS DECIMAL./* Pega as propriedades dos arquivos que foram realizados upload e selecionados pelo usuário */ttFiles = GETPROPERTY(upload, "files"). |
Observações:
|
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 ttFiltersFileFIELD description AS CHARACTERFIELD 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:
|