㈠ 表单要求
对于上传文件的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
作 者:纵横软件制作中心雨亦奇
-->
<! 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 > </ 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
作 者:纵横软件制作中心雨亦奇
--%>
<% @ 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 >
对上传的文件图片改名的代码
com.jspsmart.upload.SmartUpload upload = new com.jspsmart.upload.SmartUpload();
upload.initialize(pageContext);
upload.setMaxFileSize( 10000000 ); //
限制上传文件的大小1兆
upload.upload();
//
上传
/** */
/********************************************************************
String strParmeter1=upload.getRequest().getParameter("Parmeter1");
********************************************************************/
//
文件上传后的文件对象
com.jspsmart.upload.File myFile
=
upload.getFiles().getFile(
0
);
String strFileName = myFile.getFileName();
String abspath = request.getRealPath( "
/
"
)
+
"
/uploadFiles/
"
+
strFileName;
myFile.saveAs(abspath);
标签:文件,JspSmartUpload,tr,upload,攻略,div,上传,td
From: https://blog.51cto.com/u_16065168/6486201