【问题标题】:java.io.IOException: Posted content type isn't multipart/form-datajava.io.IOException:发布的内容类型不是 multipart/form-data
【发布时间】:2012-11-15 09:41:02
【问题描述】:

我已经编写了一个jsp页面,用于使用com.oreilly.servlet.multipart.MultipartParser使用POST方法上传图片,实际上文件上传成功并且发布值也正确但是它抛出了一个异常

java.io.IOException: Posted content type isn't multipart/form-data 
MultipartParser mp = null;
try{
 mp = new MultipartParser(request, 1*1024*1024); // 10MB
 }
 catch(Exception e){
 out.println("Exception1:"+e);
 }
while ((part = mp.readNextPart()) != null) {
        name = part.getName();
        if (part.isParam()) {
            ParamPart paramPart = (ParamPart) part;
            value = paramPart.getStringValue();
            if(name.equals("companyname") && value != null){                

            }

            if(name.equals("version") && value != null && name != null){

            }

        }
        else if (part.isFile()) {
            String getimagelogovalue="";
            FilePart filePart = (FilePart) part;
            String fileName = filePart.getFileName();
            if (fileName != null) {

            }
            else {}
            out.flush();
        }
    }   

【问题讨论】:

  • 您可以发布一些代码,错误消息还检查您是否在提及 enctype="multipart/form-data" 后提及 enctype="multipart/form-data" 作为表单属性请在本地变量中获取文件属性并打印 PhotoFile.getBytes()
  • MultipartParser mp = null; try{ mp = new MultipartParser(request, 1*1024*1024); // 10MB } catch(Exception e){ out.println("Exception1:"+e); }
  • 你可以发布你的表单代码吗,只发布表单行和你使用文件输入标签的行,以及在你的服务器端你如何处理文件输入参数的值跨度>
  • 抛出什么类型的异常,贴出你的异常跟踪
  • java.io.IOException: 发布的内容类型不是 multipart/form-data

标签: java jsp


【解决方案1】:

你有:

mp = new MultipartParser(request, 1*1024*1024); // 10MB

但根据我的计算,实际上只有 1Mb。您要上传的图像实际上是否太大?尝试使用较小的图片,修正您的评论或修正您的代码。

【讨论】:

    【解决方案2】:

    我认为您在此处编写的代码是服务器端代码,假设您正在执行一个 post form JSP,您的代码应该如下所示

    <FORM action="http://server.com/cgi/handle"
           enctype="multipart/form-data"
           method="post">
       <P>
       What is your name? <INPUT type="text" name="submit-name"><BR>
       What files are you sending? <INPUT type="file" name="files"><BR>
       <INPUT type="submit" value="Send"> <INPUT type="reset">
     </FORM>
    

    参见 enctype 属性。我们还可以看到客户端(JSP)代码吗?

    代码 sn-p 取自 http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.2

    【讨论】:

      【解决方案3】:

      我只是换了

      enctype="multipart/form-data"
      

      ENCTYPE="multipart/form-data"

      在表单标签中

      异常已解决,表单标签在下方

       <form method="POST"  name="form1"  action="1StudentDVerify.jsp" ENCTYPE="multipart/form-data">
      
      
      </form>
      

      【讨论】:

        猜你喜欢
        • 2018-02-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-01
        • 2018-12-22
        • 2018-06-11
        • 1970-01-01
        • 2013-08-08
        相关资源
        最近更新 更多