当前位置:编程学习 > JAVA >>

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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,