0

I use ajax to upload file. I send to link of image by ajax to servlet. And i use FileItem to write file. Code jsp:

<input type="file" name="file" id="pic1" />
<input type="file" name="file" id="pic2" />
var dataString='pic1='+$("#pic1").val()+'&pic2='+$("#pic2").val();

Code servlet:

private final String UPLOAD_DIRECTORY = "C:\\img";

 String pic1= request.getParameter("pic1");
         String pic2= request.getParameter("pic2");

         String name1= new File(pic1).getName();
         FileItem fi = null;
         String name2= new File(pic2).getName();
        try {
            fi.write( new File(UPLOAD_DIRECTORY + File.separator + name1));
            fi.write( new File(UPLOAD_DIRECTORY + File.separator + name2));
            response.setContentType("text/plain");
            response.setCharacterEncoding("UTF-8");
            response.getWriter().write("OK");
        } catch (Exception ex) {
            Logger.getLogger(upLoadFileNew.class.getName()).log(Level.SEVERE, null, ex);
        }

When i set FileItem fi= null then fi.write( new File(UPLOAD_DIRECTORY + File.separator + name1)); not work. I want write file at private final String UPLOAD_DIRECTORY = "C:\\img";. Somebody help me!

Yên Đậu
  • 141
  • 1
  • 9
  • 1
    Are you able to retrieve the file object in your servlet? `request.getParameter("pic1");` does not give the file object. Check this link for an example http://stackoverflow.com/questions/166221/how-can-i-upload-files-asynchronously – Nikhil Talreja Apr 30 '15 at 10:12

1 Answers1

0

You cannot use

     request.getParameter() ;

to get a file object,it only return String not file object. You can use jquery ajaxfileupload to send a file object.... refer below link

http://www.simplecodestuffs.com/ajax-style-file-upload-in-java-web-application-using-jquery/

Babu Pasungily
  • 315
  • 3
  • 13