首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

怎样用JspSmartUpload实现文件上传攻略?该如何解决

2012-02-17 
怎样用JspSmartUpload实现文件上传攻略?㈠表单要求对于上传文件的FORM表单,有两个要求:1、METHOD应用POST,即

怎样用JspSmartUpload实现文件上传攻略?
㈠   表单要求  


对于上传文件的FORM表单,有两个要求:  


1、METHOD应用POST,即METHOD= "POST "。  


2、增加属性:ENCTYPE= "multipart/form-data "  


下面是一个用于上传文件的FORM表单的例子:  


<FORM   METHOD= "POST "   ENCTYPE= "multipart/form-data "  
ACTION= "/jspSmartUpload/upload.jsp ">
<INPUT   TYPE= "FILE "   NAME= "MYFILE ">
<INPUT   TYPE= "SUBMIT ">
</FORM>
 


㈡   上传的例子  


1、上传页面upload.html  


本页面提供表单,让用户选择要上传的文件,点击 "上传 "按钮执行上传操作。  


页面源码如下:  


<!--
        文件名:upload.html
作     者:纵横软件制作中心雨亦奇(zhsoft88@sohu.com)
-->
<!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.01   Transitional//EN ">
<html>
<head>
<title> 文件上传 </title>
<meta   http-equiv= "Content-Type "   content= "text/html;   charset=gb2312 ">
</head>

<body>
<p> &nbsp; </p>
<p   align= "center "> 上传文件选择 </p>
<FORM   METHOD= "POST "   ACTION= "jsp/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>
 


2、上传处理页面do_upload.jsp  


本页面执行文件上传操作。页面源码中详细介绍了上传方法的用法,在此不赘述了。  


页面源码如下:  


<%--
文件名:do_upload.jsp
作     者:纵横软件制作中心雨亦奇(zhsoft88@sohu.com)
--%>
<%@   page   contentType= "text/html;   charset=gb2312 "   language= "java "  
import= "java.util.*,com.jspsmart.upload.* "   errorPage= " "   %>
<html>
<head>
<title> 文件上传处理页面 </title>
<meta   http-equiv= "Content-Type "   content= "text/html;   charset=gb2312 ">
</head>

<body>
<%
//   新建一个SmartUpload对象
SmartUpload   su   =   new   SmartUpload();
//   上传初始化
su.initialize(pageContext);
//   设定上传限制
//   1.限制每个上传文件的最大长度。
//   su.setMaxFileSize(10000);
//   2.限制总上传数据的长度。
//   su.setTotalMaxFileSize(20000);
//   3.设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。
//   su.setAllowedFilesList( "doc,txt ");
//   4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,
jsp,htm,html扩展名的文件和没有扩展名的文件。
//   su.setDeniedFilesList( "exe,bat,jsp,htm,html,, ");
//   上传文件
su.upload();
//   将上传文件全部保存到指定目录
int   count   =   su.save( "/upload ");
out.println(count+ "个文件上传成功! <br> ");

//   利用Request对象获取参数之值
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> 表单项名(FieldName) </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> ");

//   将文件另存
//   file.saveAs( "/upload/ "   +   myFile.getFileName());
//   另存到以WEB应用程序的根目录为文件根目录的目录下


//   file.saveAs( "/upload/ "   +   myFile.getFileName(),  
su.SAVE_VIRTUAL);
//   另存到操作系统的根目录为文件根目录的目录下
//   file.saveAs( "c:\\temp\\ "   +   myFile.getFileName(),  
su.SAVE_PHYSICAL);

}
%>
</body>
</html>
 
转http://java.ccidnet.com/art/3539/20070515/1081649_1.html

[解决办法]
最近也在弄这个 多谢了
[解决办法]
up
[解决办法]
樓主是大好人!頂了!

热点排行