|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你通过从书的数量和开发周期及运行速度来证明:net和ruby要比java简单。js|攻略|上传|下载3、文件上传篇
㈠表单请求
关于上传文件的FORM表单,有两个请求:
1、METHOD使用POST,即METHOD="POST"。
2、增添属性:ENCTYPE="multipart/form-data"
上面是一个用于上传文件的FORM表单的例子:
<FORMMETHOD="POST"ENCTYPE="multipart/form-data"
ACTION="/jspSmartUpload/upload.jsp">
<INPUTTYPE="FILE"NAME="MYFILE">
<INPUTTYPE="SUBMIT">
</FORM>
㈡上传的例子
1、上传页面upload.html
本页面供应表单,让用户选择要上传的文件,点击"上传"按钮实行上传操纵。
页面源码以下:
<!--
文件名:upload.html
纵横软件制造中央雨亦奇(zhsoft88@sohu.com)
-->
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
<html>
<head>
<title>文件上传</title>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
</head>
<body>
<p></p>
<palign="center">上传文件选择</p>
<FORMMETHOD="POST"ACTION="jsp/do_upload.jsp"
ENCTYPE="multipart/form-data">
<inputtype="hidden"name="TEST"value="good">
<tablewidth="75%"border="1"align="center">
<tr>
<td><divalign="center">1、
<inputtype="FILE"name="FILE1"size="30">
</div></td>
</tr>
<tr>
<td><divalign="center">2、
<inputtype="FILE"name="FILE2"size="30">
</div></td>
</tr>
<tr>
<td><divalign="center">3、
<inputtype="FILE"name="FILE3"size="30">
</div></td>
</tr>
<tr>
<td><divalign="center">4、
<inputtype="FILE"name="FILE4"size="30">
</div></td>
</tr>
<tr>
<td><divalign="center">
<inputtype="submit"name="Submit"value="上传它!">
</div></td>
</tr>
</table>
</FORM>
</body>
</html>
2、上传处置页面do_upload.jsp
本页面实行文件上传操纵。页面源码中具体先容了上传办法的用法,在此不赘述了。
页面源码以下:
<%--
文件名:do_upload.jsp
纵横软件制造中央雨亦奇(zhsoft88@sohu.com)
--%>
<%@pagecontentType="text/html;charset=gb2312"language="java"
import="java.util.*,com.jspsmart.upload.*"errorPage=""%>
<html>
<head>
<title>文件上传处置页面</title>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
</head>
<body>
<%
//新建一个SmartUpload对象
SmartUploadsu=newSmartUpload();
//上传初始化
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();
//将上传文件全体保留到指定目次
intcount=su.save("/upload");
out.println(count+"个文件上传乐成!<br>");
//使用Request对象猎取参数之值
out.println("TEST="+su.getRequest().getParameter("TEST")
+"<BR><BR>");
//一一提取上传文件信息,同时可保留文件。
for(inti=0;i<su.getFiles().getCount();i++)
{
com.jspsmart.upload.Filefile=su.getFiles().getFile(i);
//若文件不存在则持续
if(file.isMissing())continue;
//显现以后文件信息
out.println("<TABLEBORDER=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: emp"+myFile.getFileName(),
su.SAVE_PHYSICAL);
}
%>
</body>
</html>
专门做了这个例子;而java的这个例子好像就是为了教学而写的,很多教学目的的例子是不考虑优化、性能的。 |
|