2

我已经编写了一个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();
        }
    }   
4

3 回答 3

2

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

于 2012-11-15T10:52:07.170 回答
2

你有:

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

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

于 2012-11-15T10:47:11.120 回答
1

我刚变

enctype="multipart/form-data"

ENCTYPE="multipart/form-data"

在表单标签中

异常已解决,表单标签如下

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


</form>
于 2019-11-29T07:33:42.557 回答