Histórico da Página
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.
Figura 3 - Popup para seleção dos arquivos com o modo de exibição: transfer.
Atributos
O componente possui 3 atributos para a parametrização do componente:
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). |
mode | Modo de exibição da tela e comportamento do upload. Pode ser transfer (exibe somente a aba de Transferência, ao clicar no botão Ok, é realizado o upload de todos os arquivos presente na grid onde não haverá a necessidade de efetuar o Upload para depois seleciona-lo na aba de Visualização) ou all (exibe as abas Transferência e Visualização com as ações padrão do componente). Caso o parâmetro não seja configurado, o sistema define como padrão o valor all. |
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 4 - 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. |
OPEN-UPLOAD(widgetId, mode) | Abre a tela de Upload relacionada ao componente DatasulUpload (widgetId), customizada de acordo com o parâmetro mode ('transfer' ou 'all'). |
Evento | Descrição |
---|---|
onCloseUpload | Evento disparado ao fechar a tela de Upload, independentemente do modo escolhido. |
Exemplos
Veremos a seguir um exemplo de como pegar os arquivos que foram selecionados pelo usuário:
Bloco de código | ||
---|---|---|
| ||
/* 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"). |
Nota |
---|
Observações:
|
Agora veremos um outro exemplo de como filtrar os tipos de arquivos que o usuário poderá fazer upload:
Bloco de código | ||
---|---|---|
| ||
/* 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). |
Nota |
---|
Observações:
|
Um exemplo para a chamada do componente de upload via ABLScript.
Bloco de código | ||
---|---|---|
| ||
/* Referência para o componente de upload */ DEFINE VARIABLE uploadFile AS WIDGET-HANDLE. /* Função que executa a chamada do Popup de Upload */ OPEN-UPLOAD(uploadFile, "transfer"). |
Nota |
---|
Observações:
|