JSP文件上传问题
求大侠耐心为小弟我阅读一下下面的代码,看看错在哪儿了?还想问一下的是,如果上传成功,通过我的代码,我上传的文件是不是在jspSmartUpload中的upload中啊?
最近在自学一个jsp文件通过网页上传文件,通过http://127.0.0.1:8080我知道我的tomcat配置好了的,我将jspSmartUpload.rar解压到了C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps中了,并将jspSmartUpload中的Web-inf改为了WEB-INF。在jspSmartUpload中,我创建了upload.htm和do_upload.jsp文件代码分别如下:
upload.htm:
<%@ page contentType="text/html;charset=gb2312"%>
<html>
<head>
<title>文件上传</title></head>
<body>
<P align="center">用smartUpload组件实现文件上传</P>
<p align="center">请选择要上传的文件:</p>
<form method="post" action="do_upload.jsp" ENCTYPE="multipart/form-data">
<input type="hidden" name="TEST" value="good">
<table width="75%" border="1" align="center">
<tr>
<td ><div align="center">上传文件1:
<input type="FILE" name="FILE1" size="30"></div></td>
</tr>
<tr>
<td ><div align="center">上传文件2:
<input type="FILE" name="FILE2" size="30"></div></td>
</tr>
<tr>
<td ><div align="center">上传文件3:
<input type="FILE" name="FILE3" size="30"></div></td>
</tr>
<tr>
<td ><div align="center">上传文件4:
<input type="FILE" name="FILE4" size="30"></div></td>
</tr>
<tr>
<td ><div align="center">
<input type="submit" name="Submit" value="上传"></div><td>
</tr>
</table>
</form>
<body>
</html>
do_upload.jsp:
<%@ page contentType="text/html;charset=gb2312" language="java" %>
<%@ page import="java.util.*,com.jspsmart.upload.*" errorPage=""%>
<html>
<head>
<title>文件上传处理页面</title></head>
<body>
<div align="center">
<%
//新建一个SmartUpload对象
SmartUpload su=new SmartUpload();
//上传初始化
su.initialize(pageContext);
//设定上传限制
//限制每个上传文件的最大长度
su.setMaxFileSize(1000000);
//限制总上传数据的长度
su.setTotalMaxFileSize(2000000);
//设定允许上传的文件(通过扩展名限制),公允许doc,txt,jpg,bmp,swf,rm,mp3,gif,mid文件
su.setAllowedFilesList("doc,txt,jpg,bmp,swf,rm,mp3,gif,mid");
//设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,jsp,htm,html
//扩展名的文件和没有扩展名的文件
su.setDeniedFilesList("exe,bat,jsp,htm,html,,");
//上传文件
su.upload();
//将上传文件全部保存到指定目录
int count=su.save("/upload");
out.println(count+"个文件上传成功!");
out.println("TEST="+su.getRequest().getParameter("TEST")+"<BR><BR>");
//逐一提取上传文件信息,同时可保存文件
for(int i=0;i<su.getFiles().getCount();i++){
com.jspsmart.upload.File file=su.getFiles().getFile(i);
//若文件表单中的文件选项没有选择文件则继续
if(file.isMissing())continue;
//显示当前文件信息
out.println("<table border=1>");
out.println("<tr><td>表单项名(FiledName)</td><td>"+file.getFieldName()+"</td></tr>");
out.println("<tr><td>文件长度(Size)</td><td>"+file.getSize()+"</td></tr>");
out.println("<tr><td>文件名(FileName)</td><td>"+file.getFileName()+"</td></tr>");
out.println("<tr><td>文件扩展名(FileExt)</td><td>"+file.getFileExt()+"</td></tr>");
out.println("<tr><td>文件全名(FilePathName)</td><td>"+file.getFilePathName()+"</td></tr>");
out.println("</table><br>");
}
%>
</div>
</body>
</html>
运行的时候upload.htm显示正常,可是选择好上传文件,点击上传按钮的时候IE显示的是“你是要打开还是保存来自admin-pc的do_upload.jsp(1.80kb)?”
意思就是不能上传文件,却把do_upload.jsp这个“实现文件上传”的文件下载下来了。
--------------------编程问答-------------------- 文件上传在upload中,打开或者保存跟你的这段代码有关
//逐一提取上传文件信息,同时可保存文件
for(int i=0;i<su.getFiles().getCount();i++){
com.jspsmart.upload.File file=su.getFiles().getFile(i);
补充:Java , Java EE