java.io.IOException:发布的内容类型不是multipart / form-data

时间:2012-11-15 09:41:02

标签: java jsp

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

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

3 个答案:

答案 0 :(得分:1)

你有:

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

但我的计算实际上只有1Mb。您尝试上传的图片实际上是否太大了?尝试较小的图片,修改您的评论或修复您的代码。

答案 1 :(得分:1)

我认为你在这里编写的代码是服务器端代码,假设你正在做一个post表单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)代码吗?

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

答案 2 :(得分:1)

我刚改变

enctype="multipart/form-data"

ENCTYPE="multipart/form-data"

表单标签

此异常已解决,并且表单标签在下面

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


</form>