You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Barry Barrios (JIRA)" <ji...@apache.org> on 2008/08/28 15:27:44 UTC

[jira] Commented: (FILEUPLOAD-165) Reading an uploaded file and returning that uploaded file in the exact same structure as the input file

    [ https://issues.apache.org/jira/browse/FILEUPLOAD-165?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12626557#action_12626557 ] 

Barry Barrios commented on FILEUPLOAD-165:
------------------------------------------

Dear Jochen,
Last question I promise,
Yeah I was thinking about that but I was confused about two things:
replacing this line response.getWriter().write(new String(uploadItem.get()));
with
1) response.getOutputStream().println(new String(uploadItem.get()));
(with no carriage return-line feed (CRLF) at the end.)
or
2) response.getOutputStream().print(new String(uploadItem.get()));
(Writes a String to the client, followed by a carriage return-line feed 
(CRLF).)
what is a carriage return-line feed(CRLF)?
My input data is like this,i.e:
1 2 "305 Memorial Drive Cambridge, Ma,02139"
3 4 "77 Massachusetts Ave, Cambridge MA, 02139"

and I want my output to look like:
1 2 "305 Memorial Drive Cambridge, Ma,02139"
3 4 "77 Massachusetts Ave, Cambridge MA, 02139"

well at the end I am going to change the output, this is just to see how it
works. I wasn't sure what the difference is bet. print and println or what is
CRLF.
Your attention to this matter is highly appreciated.
Sincerely,
Barry Barrios







> 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
>            Assignee: Jochen Wiedmann
>            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.