Upload servlet

1 resposta
J

galera

to precisando de um help

to tentando fazer upload, mas ta dando um errinho sem vergonha aki

to seguindo a documentacao do commons upload da apache

<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri = "http://richfaces.org/a4j" prefix="a4j" %>
<%@ taglib uri = "http://richfaces.org/rich" prefix="rich" %>

<form name="form" action="/teste/upload" enctype="multipart/form-data" method="post">
	<input type="file" name="arquivo" size="80" value="caminho"></input>
	<input type="submit" value="Atualizar"/>
</form>
meu servlet
public class UploadMultipartFilter extends HttpServlet
{      
	public void doPost(HttpServletRequest request, HttpServletResponse response)
	{
		boolean isMultipart = ServletFileUpload.isMultipartContent(request);
		// Create a factory for disk-based file items
		DiskFileItemFactory factory = new DiskFileItemFactory();

		// Set factory constraints
		factory.setSizeThreshold(1024*100);
		factory.setRepository(new File("D:\\Temp"));

		// Create a new file upload handler
		ServletFileUpload upload = new ServletFileUpload(factory);

		// Set overall request size constraint
		upload.setSizeMax(240);
		try
		{

			// Parse the request
			[size=18][b]List items = upload.parseRequest(request);[/b][/size]
			
			// Process the uploaded items
			Iterator iter = items.iterator();
			while (iter.hasNext()) {
			    FileItem item = (FileItem) iter.next();

			    if (item.isFormField()) 
			    {
			    	String name = item.getFieldName();
				    String value = item.getString();
			    } 
			    else 
			    {
			    	String fieldName = item.getFieldName();
				    String fileName = item.getName();
				    String contentType = item.getContentType();
				    boolean isInMemory = item.isInMemory();
				    long sizeInBytes = item.getSize();
			    }
			}
			
			// Process a file upload
			/*if (writeToFile) {
			    File uploadedFile = new File(...);
			    item.write(uploadedFile);
			} else {
			    InputStream uploadedStream = item.getInputStream();
			    ...
			    uploadedStream.close();
			}*/
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
	}
}

ta dando erro na linha que ta em negrito

o erro eh esse
org.apache.commons.fileupload.FileUploadBase$InvalidContentTypeException: the request doesn't contain a multipart/form-data or multipart/mixed stream, content type header is application/x-www-form-urlencoded

ja procurei por diversos lugars, nao achei solucao :!: :?:

1 Resposta

Rafael_Carneiro

Qual é o tipo de arquivo que você está enviando?

Criado 30 de junho de 2009
Ultima resposta 1 de jul. de 2009
Respostas 1
Participantes 2