commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jochen Wiedmann (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (FILEUPLOAD-165) Reading an uploaded file and returning that uploaded file in the exact same structure as the input file
Date Thu, 28 Aug 2008 12:53:44 GMT

     [ https://issues.apache.org/jira/browse/FILEUPLOAD-165?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Jochen Wiedmann resolved FILEUPLOAD-165.
----------------------------------------

    Resolution: Fixed

Use response.getOutputStream(), and not response.getWriter().


> Reading an uploaded file and returning that uploaded file in the exact same structure
as the input file
> -------------------------------------------------------------------------------------------------------
>
>                 Key: FILEUPLOAD-165
>                 URL: https://issues.apache.org/jira/browse/FILEUPLOAD-165
>             Project: Commons FileUpload
>          Issue Type: Task
>    Affects Versions: 1.2
>         Environment: Windows XP Professional
>            Reporter: Barry Barrios
>            Priority: Critical
>             Fix For: 1.2.1
>
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> I am using response.getWriter().write(new String(uploadItem.get() to write the uploaded
input file. The code works pretty well except the output is very disorganized. I want the
output to look  exactly the same as the input file, in structure, the same space, the same
columns, a perfect copy. However the output file, is scrammbled all together. What can be
done to alter this code so that the input file looks like the output file.
> Sample Code Below:
> package de.herbstcampus.server;
> import java.io.IOException;
> import java.util.List;
> import javax.servlet.ServletException;
> import javax.servlet.http.HttpServlet;
> import javax.servlet.http.HttpServletRequest;
> import javax.servlet.http.HttpServletResponse;
> import org.apache.commons.fileupload.FileItem;
> import org.apache.commons.fileupload.FileItemFactory;
> import org.apache.commons.fileupload.FileUploadException;
> import org.apache.commons.fileupload.disk.DiskFileItemFactory;
> import org.apache.commons.fileupload.servlet.ServletFileUpload;
> public class FileUploadServlet extends HttpServlet {
> 	private static final long serialVersionUID = 1156467149259077140L;
> 	protected void doPost(HttpServletRequest request,
> 			HttpServletResponse response) throws ServletException, IOException {
> 		FileItem uploadItem = getFileItem(request);
> 		
> 		/*
> 		 * Note this must be 'text/html', otherwise the onSubmitComplete(...)
> 		 * won't work properly and the browser may open a save dialog.
> 		 */
> 		response.setContentType("text/html");
> 		
> 		if (uploadItem == null) {
> 			response.getWriter().write("No data");
> 			return;
> 		} else {
> 			response.getWriter().write(new String(uploadItem.get()));
> 		}
> 	}
> 	@SuppressWarnings("unchecked")
> 	private FileItem getFileItem(HttpServletRequest request) {
> 		FileItemFactory factory = new DiskFileItemFactory();
> 		ServletFileUpload upload = new ServletFileUpload(factory);
> 		try {
> 			List<FileItem> items = upload.parseRequest(request);
> 			
> 			for (FileItem item: items) {
> 				if (!item.isFormField()
> 						&& "uploadFormElement".equals(item.getFieldName())) {
> 					return item;
> 				}
> 			}
> 		} catch (FileUploadException e) {
> 			return null;
> 		}
> 		
> 		return null;
> 	}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message