我已经使用com.oreilly.servlet.multipart.MultipartParser
编写了一个使用POST方法上传图像的jsp页面。实际上,文件上传成功,发布值也得到了正确的处理,但它抛出了一个异常
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();
}
}
您有:
mp = new MultipartParser(request, 1*1024*1024); // 10MB
但根据我的计算,实际上只有1Mb。你试图上传的图片真的太大了吗?尝试较小的图像,修复您的评论或修复您的代码。
我认为您在这里编写的代码是服务器端代码,假设您正在执行后表单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
我刚换了
enctype="multipart/form-data"
至ENCTYPE="multipart/form-data"
形式标签
异常已解决,表单标签位于下方
<form method="POST" name="form1" action="1StudentDVerify.jsp" ENCTYPE="multipart/form-data">
</form>