Upload, e Parameters

1 resposta
lucasferreira

Estou fazendo um upload via JSP, com form normal multipart/form-data

boolean isMultipart = FileUpload.isMultipartContent(request);
if (isMultipart) {
	DiskFileUpload upload = new DiskFileUpload();
	upload.setSizeMax((int) 500 * 1024 + 500);
	upload.setRepositoryPath("W:\jwww\upload\temp\");
	List items;
	try {
		items = upload.parseRequest(request);
		// Processa os itens do upload
		Iterator iter = items.iterator();
		while (iter.hasNext()) {
			FileItem item = (FileItem) iter.next();
			if ( !item.isFormField() && item.getFieldName().equals("arq") ) {
				String fileName = item.getName();
				int barra = fileName.lastIndexOf("\");
				String nome = fileName.substring(barra+1);
				StringBuffer bn = new StringBuffer();
				bn.append("W:\jwww\upload\temp\");
				bn.append("/");
				bn.append(nome);
				String newName = bn.toString();
				File uploadedFile = new File(newName);
				item.write(uploadedFile);
			}
		}		
	} catch (FileUploadException fuex) {
		fuex.getMessage().toString();
	} catch (Exception ex) {
		ex.getMessage().toString();
	}
}

Porém se eu tento recuperar qualquer variável tipo se eu tenho nos inputs

<form action='upload2.jsp'method='POST'enctype='multipart/form-data'>
Nome do arquivo: <input type='file' name='arq'><br>
<input type="text" name="teste" /><br>
<input type='submit' value='Enviar arquivo'>
</form>

se eu dou na página do upload um:

out.print(request.getParameter("teste"));

só retorna null....

Alguém sabe me dizer por que?

1 Resposta

Rafael_Steil

Voce nao pode usar request.getParameter() com multipart/form-data em Java. No teu caso, utilize o FileItem para pegar os dados. Caso item.isFormField() retorne true, use item.getXxx() para recuperar os valores.

Rafael

Criado 24 de agosto de 2005
Ultima resposta 24 de ago. de 2005
Respostas 1
Participantes 2