日期:2014-05-17  浏览次数:20635 次

急!jsp上传组件一直运行出错
我用的是cos组件 用smartupkoad也是出错
以下是代码
upload.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>上传文件</h2>
<form enctype="mulipart/form-data" method="post" action="upload.jsp">
<p>上传文件1:<input type="file" name="File1"size="20""><br>
文件描述:<input type="text" name="File1" size="30"></p>
<p>上传文件2:<input type="file" name="File2"size="20""><br>
文件描述:<input type="text" name="File2" size="30"></p>
<input type="submit" value="上传"></form>

</body>
</html>

upload.jsp
<%@ page language="java" contentType="text/html; charset=gb2312"
  pageEncoding="gb2312"%>
<%@ page import="java.io.*,java.util.*,com.oreilly.servlet.MultipartRequest" %>
<% //将文件存放在 e:\Upload下 
String saveDirectory = "e://Upload";
File uploadPath=new File(saveDirectory);
if(!uploadPath.exists())uploadPath.mkdir();
//上传文件的大小限制在5MB
int maxPostSize=5*1024*1024;
//存放文件描述
String fileDescription[]={null,null};

//上传文件名
String fileName=null;
//上传文件数
int count=0;
//上传文件
MultipartRequest multi = new MultipartRequest(request,saveDirectory,maxPostSize,"GBK");

%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Insert title here</title>
</head>
<body>
<%
//取得文件描述
if(multi.getParameter("File1")!=null){
fileDescription[0]=multi.getParameter("File1");
}
else
{
fileDescription[0]="";
}
if(multi.getParameter("File2")!=null){
fileDescription[1]=multi.getParameter("File2");
}
else
{
fileDescription[1]="";
}
//取得所有上传文件名称
Enumeration filesname = multi.getFileNames();
while(filesname.hasMoreElements()){
String name=(String)filesname.nextElement();
fileName=multi.getFilesystemName(name);
File f=multi.getFile(name);
String ContentType=multi.getContentType(name);

if(fileName!=null){
count++;

%>
<font>您上传的第<%=count%>个文件:</font><br>
文件名:<%=fileName%><br>
文件类型:<%=ContentType%><br>
文件描述:<%=fileDescription[count-1]%><br><br>

<%
}//endif
}//endwhile
%>
您共上传<font color="red"><%=count%></font>个文件
</body>
</html>

------解决方案--------------------
严重: Servlet.service() for servlet jsp threw exception
java.io.IOException: Posted content type isn't multipart/form-data
这是从你的错误信息中找出来的,楼主以后要多注意读错误信息才行,虽然有很多行但是只要看到重点一般就可以找出大致的错误了。很明显你的前台页面在指定表单数据的提交类型时发生错误,form表单中的type指定出错,你再看看你是不是写错了