jsp使用jspSmartUpload实现多文件上传

易奇希
2023-12-01

jsp使用jspSmartUpload实现多文件上传

jspSmartUpload的主要类:

File类

将文件换名另存:
public void saveAs(String destFilePathName)
public void saveAs(String destFilePathName, int optionSaveAs)
optionSaveAs是另存的选项,有三个值:SAVES_PHYSICAL, SAVES_VIRTUAL, SAVES_AUTO(当Web应用程序的根目录存在另存文件的目录是,它会选择SAVES_VIRTUAL)。
例如,saveAs("/upload/sample.zip", SAVES_PHYSICAL), 执行后若Web服务器安装在C盘,则另存的文件名实际为:C:\upload\sample.zip;而saveAs("/upload/sample.zip",SAVES_VIRTUAL),若web应用程序的根目录是webapps/jspsmartupload,则另存的文件名实际是webapps/jspsmartupload/upload/sample.zip.

 public boolean isMissing():判断是否选择了文件
 public String getFieldName():  取HTML表单中对应于此上传文件的表单项的名陈
 public String getFileName():  取文件名(不含目录信息)
 public String getFilePathName():  取文件全名(带目录)
 public String getFileExt() :  取文件的扩展名(后缀)
 public int getSize():取文件字长
 

Files类:所有上传文件的集合

public int getCount():  上传文件的数目
public File getFile(int index):  获取指定位移处的文件对象com.jspsmart.upload.File
public long getSize():  上传的总长度
public Collection getCollection():  将所有上传对象以Collection的形式返回
public Enumeration getEnumeration():  将所有上传文件对象以Enumeration的形式返回

Request类

文件上传表单,通过jsp页面的request对象无法获取表单项的值,只能通过jspSmartUpload组件提供的request对象来获取
public String getParameter(String name)
public String[] getParameterValues(String name)
public Enumeration getParameterNames()

SmartUpload类:完成上传和下载

共用的方法
public final void initialize(javax.servlet.jsp.PageContext pageContext):  初始化
public void upload():上传文件,上传文件前记得先初始化
public int save(String destPathName)将全部上传文件保存到指定目录下,并返回保存的文件个数
public int getSize():  获取上传文件数据的总长度
public Files getFiles():  取全部上传文件,以Files对象的形式返回
punlic Request getRequest():  取得Request对象
public void setAllowedFilesList(String allowedFilesList)  允许指定扩展名的文件上传,存在别的即异常
setAllowedFilesList("doc, txt,,") 将允许上传带doc和txt扩展名的文件以及没有扩展名的文件
public void setDeniedFilesList(String deniedFilesList)  禁止上传带有指定扩展名的文件,出现即异常
public void setMaxFileSize(long maxFileSize)  设置每个文件允许上传的最大长度
public void setTotalMaxFileSize(long totalMaxFileSize)  设置允许上传的文件的总长度

下载文件常用的方法:
public void setContentDisposition(String contentDisposition):组件返回下载的信息时自动填写MIME文件头的
content-Disposition域,如果为null,组件自动添加attachment;表明将下载的文件作为附件(也设定下载文件的打开方式)

public void downloadFile(String sourceFilePathName, sourceFilePathName, String contentType)
第二和第三个参数都是可选的,第一个是带目录的文件全名,第二个是内容类型,可以被浏览器识别的,第三个下载后默认的另存文件名

upload.html
<html>
<body>
<h>多文件上传</h>
<form method="post" action="/jspmartupload/jsp/sample.jsp" enctype="multipart/form-data>
	<input type="file" name="file1" size="50"/><br/>
	<input type="file" name="file2" size="50"/><br/>
	<input type="file" name="file3" size="50"/><br/>
	<input type="file" name="file4" size="50"/><br/>
	<input type="submit" value="upload />
</form>
</body>
</html>
sample.jsp
<%@ page language="java" import = "com.jspsmart.upload.*" %>
<jsp:useBean id = "mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload" /><!-- 新建一个SmartUpload对象,并上传初始化-->
<HTML>
<body>
<%
int count = 0;
 mySmartUpload.initialize(pageContext);
 mySmartUpload.setTotalMaxFileSize(100000);
 mySmartUpload.upload();
 try {
 	count = mySmartUpload.save("/upload");
 	out.println(count + "file(s) uploaded.");
 }catch (Exception e) {
 	out.println(e.toString());
 }
 %>
</body>
</HTML>



 类似资料: