Skip to content

Tag-icone-mini.png Genexus

Referenciado por: Dicas Técnicas | Manipulação de Arquivos em Genexus |

Flash será Descontinuado a partir de Janeiro/2021 no Google Chorme

Extensão do Genexus gratuita que permite upload de arquivos.

https://marketplace.genexus.com/viewproduct.aspx?128

UploadifyFlash-logo.png

Instalação ​

1. Instalar a extensão da maneira padrão do Genexus.

2. Configurar os modelos de web.xml na pasta gxjava para incluir o mapeamento do servlet upload automaticamente.

Na pasta C:\Program Files (x86)\Artech\GeneXus\GeneXusXEv3\gxjava alterar os arquivos web*.xml

<web-app&gt; [...] <servlet&gt; <servlet-name&gt;upload</servlet-name&gt; <servlet-class&gt;upload</servlet-class&gt; </servlet&gt; <servlet-mapping&gt; <servlet-name&gt;upload</servlet-name&gt; <url-pattern&gt;/servlet/upload</url-pattern&gt; </servlet-mapping&gt;
</web-app&gt;

  • Arquivos na pasta gxjava

  • Exemplo de como vai ficar o web.xml

Utilização ​

1. Arrastar componente para tela. Se for tela com WorkWithPlus deve-se arrastá-lo para um User Table.

2. Setar as propriedades para que fique assim, ou parecido:

Automatic Upload = True Button Text = Carregar... ControlName = Uploadify1 File Description = XML File Extension = *.xml Multi = False Size Limit = 5120 Queued Files = &QueuedFiles Simultaneous Upload Limite = 1 Upload Script = ../servlet/upload Upload Files = &UploadFiles

3. Tratar os eventos do componente.

// File UploadifyOutput // QueuedFiles UploadifyOutput [Collection] // UploadedFiles UploadifyOutput [Collection] // &TempFile File     Event Uploadify1.OnAllComplete   For &File in &UploadedFiles Msg(&File .OriginalFileName) Endfor   If &UploadedFiles.Count > 1 Msg("Não é permitido carregar mais de um arquivo por vez." ) Else for &File in &UploadedFiles // Trata upload Endfor Endif   EndEvent   Event Uploadify1.OnCancel   &File = Uploadify1.File Msg("Cancelado:" + &File.OriginalFileName)   EndEvent   Event Uploadify1.OnError   &File = Uploadify1.File Msg("Erro ao carregar arquivo: " + &File.OriginalFileName) Msg(Uploadify1.Error)   EndEvent   Sub 'ApagaArquivoTemporario'   &TempFile.Source = &File.TemporalFileName If &TempFile.Exists() &TempFile.Delete() Endif   EndSub

4. Manipulação do arquivo na pasta temporária.

Quando o upload estiver completo o arquivo poderá ser manipulado a partir da pasta temporária. É necessário tratar manualmente para excluir o arquivo temporário após o upload. Pode-se utilizar a sub rotina ApagaArquivoTemporario para isso.

&File é do tipo UploadifyFile.

&File.OriginalFileName possui o nome do arquivo selecionado pelo usuário.
Exemplo: arquivo.txt

&File.TemporalFileName possui o caminho completo para arquivo na pasta temporária.
Exemplo: %catalina_home%\webapps\<app>\PrivateTempStorage\6453357.tmp

Esse caminho é defino na propriedade Temp media directory do Gerador Java.

Manipulação de Arquivos em Genexus

5. É necessário incluir upload.class do Uploadify no diretório apontado na configuração Upload Script do componente.

A KB não pode ter nenhum objeto chamado upload.

Extrair upload.class do arquivo upload.jar existente na pasta WEB-INF\lib da aplicação.
%catalina_home%\webapps\TotaliCommerceWebDesenv\WEB-INF\lib\upload.jar

Copiar para WEB-INF\classes.
%catalina_home%\webapps\TotaliCommerceWebDesenv\WEB-INF\classes\

Pronto.

http://wiki.genexus.com/commwiki/servlet/wiki?14333,Uploadify+User+Control+-+Documentation+for+version+1.5+or+lower, http://tools.simplificasoftware.com/page.aspx?35

http://wiki.genexus.com/commwiki/servlet/wiki?30694,Java+generator+web.xml+template+selection,