[Logo] Mentawai Forum - Mentawai Web Framework
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 

Forum Read-Only! Check the new site and forum here!

Upload de vários arquivos.  XML
Forum Index -> Comentários Gerais
Author Message
ricardojlrufino


[Avatar]

Joined: 30/03/2008 20:07:28
Messages: 227
Location: Teresina PI
Offline

Olá amigos.
Estou utilizando uma lib da Jquery(multiple-file-upload) para fazer upload de arquivos.

Qual o problema ???
É que ela gera varios input file com o mesmo nome. Até ai eu acho que tudo bem...
Só que quando eu tento recuperar FileItem[] arquivos = (FileItem[]) input.getValue("arquivo"); dá erro de CAST.

Mas eu acho que não era pra dar. pois fiz um teste, usando campos com mesmo nome.
Code:
			<input name="arquivoStr" id="fileUploadX" type="text" size="40"/>
 			<input name="arquivoStr" id="fileUploadX" type="text" size="40"/>
 			<input name="arquivoStr" id="fileUploadX" type="text" size="40"/>
 			<input name="arquivo" id="fileUploadX" type="file" size="40"/>
 			<input name="arquivo" id="fileUploadX" type="file" size="40"/>
 			<input name="arquivo" id="fileUploadX" type="file" size="40"/>


Na action, e depuro:
Code:
		Iterator<String> keys = input.keys();
 		while (keys.hasNext()){
 			String string = (String) keys.next();
 			System.out.println(">> " + string + " = " + input.getValue(string));
 		}

saida é:
Code:
 >> arquivo = org.apache.commons.fileupload.DefaultFileItem@5e43ee
 >> arquivoStr = [Ljava.lang.String;@bde56d



Como podem perceber se tem inputs normais cmom o mesmo nome, ele trasforma em ARRAY, mas com input file ele não funciona assim.

Ta faltando alguma coisa que não sei ????

Ricardo JL Rufino <ricardo.jl.rufino@gmail.com> < UNYK > :: Q4Soft :: Teresina - PI
"Existe apenas um bem, o saber, e apenas um mal, a ignorância" - Sócrates
"Devemos julgar um homem mais pelas suas perguntas que pelas respostas" - Voltaire




Mentawai Developer

[WWW] [MSN]
saoj



Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline

ricardocobain wrote:

Como podem perceber se tem inputs normais cmom o mesmo nome, ele trasforma em ARRAY, mas com input file ele não funciona assim.
 


Nunca tentei fazer isso, mas acho que o commons fileupload não suporta vários arquivos com o mesmo nome. Um vai acabar sobre-escrever o outro.

Dá uma olhada no código-fonte do FileUploadFilter e veja que quem faz o parse da requisição é o commons upload e ele que vai decidir como fazer isso.

Te recomendo abandonar essa idéia se possível e criar nomes diferentes, ou tentar entender se tem como fazer o commons upload suportar isso.

Sergio Oliveira

apfmiranda


[Avatar]

Joined: 30/08/2007 19:40:30
Messages: 54
Location: Porto - Portugal
Offline

Se a questão é o mult upload em si, vê se isto resolve:

http://forum.mentaframework.org/posts/list/1986.page

Alexandre Miranda
[Email]
ricardojlrufino


[Avatar]

Joined: 30/03/2008 20:07:28
Messages: 227
Location: Teresina PI
Offline

Gostei desse FancyUpload, mas já implementei da forma que o sérgio sugeriu...

No proximo projeto utilizo ele ....
Pq o aperreio aqui ta grande !!! heheh

valeu !


Ricardo JL Rufino <ricardo.jl.rufino@gmail.com> < UNYK > :: Q4Soft :: Teresina - PI
"Existe apenas um bem, o saber, e apenas um mal, a ignorância" - Sócrates
"Devemos julgar um homem mais pelas suas perguntas que pelas respostas" - Voltaire




Mentawai Developer

[WWW] [MSN]
ricardojlrufino


[Avatar]

Joined: 30/03/2008 20:07:28
Messages: 227
Location: Teresina PI
Offline

Respondendo um pergunta que me fizeram por MP:
Fala Ricardo, tudo bom?

Me deparei agora com um problema, que fazendo uma busca pelo forum, descobri que você teve, e conseguiu resolver:
http://forum.mentaframework.org/posts/list/2150.page

Eu contornei esse problema criando uma janelinha com swing e subindo os arquivos por lá. Mas como voce resolveu, gostaria de saber como resolveu o problema do cast.

 



Utilizei um plugin da jquery para isso, ele ele usa por trás uma implementação em flash.
- http://www.uploadify.com/

Ele cuida de fazer o envio para você.
No site tem um tutorial explicando a parte da visão HTML/JavaScript

Exemplos:

JavaScipt...
Code:
 $(document).ready(function() {	
 	$("#uploadify").uploadify({
 		'uploader'       : 'js/jquery_plugins/upload/uploadify.swf',
 		'script'         : '${uploadUrlFile};JSESSIONID=<%= session.getId() %>',
 		'cancelImg'      : 'js/jquery_plugins/upload/cancel.png',
 		'folder'         : 'uploads',
 		'queueID'        : 'fileQueue',
 		'auto'           : false,
 		'multi'          : true,
 		'removeCompleted': false,	
 		'fileDataName'   : 'arquivo',
 		'fileDesc'		 : '${uploadFileDesc}',
 		'fileExt'		 : '${uploadFileExt}',
 		'buttonText'	 : '${uploadButtonText}',
 		onAllComplete	 : allUploadsComplete, 
 		onSelectOnce	 : onArquivoAdicionado,	
 		'scriptData'	 : {'JSESSIONID' : '<%= session.getId() %>'}  	
 	}); 
 });
 


Observe que vc deve substituir as variaveis de JSP, ex:
${uploadUrlFile}, ${uploadFileDesc} , etc..

O Html...
Code:
 
 <div id="uploadifyPanel" style="padding: 10px;text-align: left;">
 	<input type="file" name="uploadify" id="uploadify" />
 	
 	<div id="uploadifyButtons" style="float: right; display: none;">
 		<div id="btnDownload">
 			<a href="#">Enviar</a>
 		</div>
 		<div id="btnCancel">
 			<a href="#">Cancelar Todos</a>
 		</div>
 	</div>
 	
 	<div id="fileQueue" style="clear: both;"></div>		
 </div>	
 
 


Na Action vc se baseia pelo tutorial:
http://www.mentaframework.org/fileupload.jsp

Ricardo JL Rufino <ricardo.jl.rufino@gmail.com> < UNYK > :: Q4Soft :: Teresina - PI
"Existe apenas um bem, o saber, e apenas um mal, a ignorância" - Sócrates
"Devemos julgar um homem mais pelas suas perguntas que pelas respostas" - Voltaire




Mentawai Developer

[WWW] [MSN]
 
Forum Index -> Comentários Gerais
Go to:   
Powered by JForum 2.1.6 © JForum Team