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
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.