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