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

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> [...] <servlet> <servlet-name>upload</servlet-name> <servlet-class>upload</servlet-class> </servlet> <servlet-mapping> <servlet-name>upload</servlet-name> <url-pattern>/servlet/upload</url-pattern> </servlet-mapping>
</web-app>

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.
Links Externos
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,