I believe im very very close. 

I created and registered a new servlet on the tomcat server which gets
called when i call fileRef.upload, heres the serlet code:

package tutorial;

import java.io.File;
import java.io.IOException;
import java.util.Iterator;
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 {
        
        public void doPost(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException{
                
                boolean isMultipart = 
ServletFileUpload.isMultipartContent(request);
                

        FileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(factory);

        try {
              List items = upload.parseRequest(request);
              Iterator iter = items.iterator();
              
              while (iter.hasNext()) {
                  FileItem item = (FileItem) iter.next();
                  if(!item.isFormField()){
                          File uploadedFile = new File(item.getName());       
                          try {
                                item.write(uploadedFile);
                          } catch (Exception e) {
                                        e.printStackTrace();
                          }
                  }
                  
              }  
        } catch (FileUploadException e1) {
              // TODO Auto-generated catch block
              e1.printStackTrace();
              
        }
        }
}


during logging i see that my items list has the following content

[name=null,
StoreLocation=C:\blazeDS\tomcat\temp\upload_5ceee586_11b30bb777
8__8000_00000000.tmp, size=26bytes, isFormField=true,
FieldName=Filename, name=logo_google_suggest_s
m.jpg,
StoreLocation=C:\blazeDS\tomcat\temp\upload_5ceee586_11b30bb7778__8000_00000001.tmp,
size=322
0bytes, isFormField=false, FieldName=Filedata, name=null,
StoreLocation=C:\blazeDS\tomcat\temp\uploa
d_5ceee586_11b30bb7778__8000_00000002.tmp, size=12bytes,
isFormField=true, FieldName=Upload]

so it seems the file has been uploaded and placed into a temp file.
Running this code however does not produce a file anywhere. Am i
missing something? 

Thanks in advance!

/Eric

Reply via email to