【问题标题】:Upload file use commons-fileupload上传文件使用commons-fileupload
【发布时间】:2015-07-09 23:37:00
【问题描述】:

我使用 ajax 上传文件。我通过 ajax 将图像链接发送到 servlet。我使用 FileItem 来写文件。代码jsp:

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

代码小服务程序:

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);
        }

当我设置FileItem fi= null 然后fi.write( new File(UPLOAD_DIRECTORY + File.separator + name1)); 不起作用。我想在private final String UPLOAD_DIRECTORY = "C:\\img"; 写文件。谁来帮帮我!

【问题讨论】:

  • 您能否在您的 servlet 中检索文件对象? request.getParameter("pic1"); 没有给出文件对象。检查此链接以获取示例*.com/questions/166221/…

标签: java ajax jsp servlets file-upload


【解决方案1】:

你不能使用

     request.getParameter() ;

获取一个文件对象,它只返回字符串而不是文件对象。您可以使用 jquery ajaxfileupload 发送文件对象...。 参考以下链接

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

【讨论】: