jhonatandarosa 9 de dez. de 2009
mande seu código pra darmos uma olhada…
é mais fácil do que vc imagina usar o commons.fileupload do projeto jakarta
[]'s
http://commons.apache.org/fileupload/using.html
marcos.9306 9 de dez. de 2009
Segue o trecho da página onde tem o formulário:
<form enctype= "multipart/form-data" method= "post" action= "product?action=add" >
<fieldset>
<legend> Novo produto</legend>
<label for= "name" > Nome: </label><input type= "text" name= "name" id= "name" size= "30" ><br>
<label for= "desc" > Descrição: </label><input type= "text" name= "desc" id= "desc" size= "70" ><br>
<label for= "categories" > Categoria: </label>
<select name= "categories" id= "categories" >
<option value= "1" > Filtros Pequenos</option>
<option value= "2" > Suportes</option>
<option value= "3" > Bebidas</option>
</select><br>
<label for= "price" > Preço: </label><input type= "text" name= "price" id= "price" ><br>
<label> Imagem:</label><input type= "file" ><br>
<input id= "inner_right" type= "submit" value= "Aplicar" ><input id= "inner_right" type= "reset" value= "Limpar" >
</fieldset>
</form>
esse é o trecho do meu servlet que tenta pegar a request
boolean isMultipart = FileUpload . isMultipartContent ( request );
if ( isMultipart ) {
FileItemFactory factory = new DiskFileItemFactory ();
ServletFileUpload upload = new ServletFileUpload ( factory );
List itens = upload . parseRequest ( request );
Iterator iter = itens . iterator ();
while ( iter . hasNext ()) {
FileItem item = ( FileItem ) iter . next ();
if ( item . isFormField ()) {
out . println ( "não é arquivo!" );
}
else {
out . println ( "é arquivo!" );
}
}
}
jhonatandarosa 9 de dez. de 2009
então…
ai onde for arquivos vc faz assim:
File uploadedFile = new File ( "nomeDoArquivo" );
item . write ( uploadedFile );
e onde não for:
String field = item.getFieldName();
String value = item.getString();
[]'s
marcos.9306 9 de dez. de 2009
opa!
valeu pela atenção! mesmo!
só um problema: ele reconhece os campos agora(nome,desc etc), mas mesmo quando mando upar um arquivo ele não chega a imprimir o “é um arquivo” :?
de qualquer forma já me ajudou bastante!
valeu mesmo!
[EDIT]
era só colocar uma name e um id na input do file, agora funcino que é uma beleza!!