JSP学习笔记(八)文件上传Smartupload插件

1.SmartUpload组件简介

实现文件上传及下载的免费插件,使用简单,能够控制上传内容
并能够控制上传文件的大小、类型。(现已停止更新)

2.环境准备

(1)项目中需要引入smartupload组件的jar包,
(2)form表单中添加属性: enctype=“multipart/form-data”
(3)form表单中的method属性必须改为“post”

3.相关类的常用方法介绍

(1)File类

  saveAs(String destFilePathName,[SmartUpload.SAVE_AUTO|SmartUpload.SAVE_VIRTUAL|SmartUpload.SAVE_PHYSICAL])
保存文件,参数为文件的保存地址+文件名。SAVEAS_PHYSICAL表明以操作系统的根目录为文件根目录另存文件, SAVEAS_VIRTUAL表明以Web应用程序的根目录为文件根目录另存文件,SAVEAS_AUTO则表示让组件决定,当Web应用程序的根目录存在另存文件的目录时,它会选择SAVEAS_VIRTUAL,否则会选择SAVEAS_PHYSICAL
  isMissing()
判断文件是否为空,返回值为int型
  getFiledName()
获取表单中当前上传文件所对应的表单项的名称
 getFileName()
获取上传的文件名称,不包含文件路径

(2)Files类

  getCount()
获取文件上传的数目
  getFile(int index)
获取指定文件
  getSize()
获取上传文件的总长度
 getCollection()
将所有的上传文件对象以Collection的形式返回

(3)SmartUpload类

  initialize(PageContext pageContext)
文件上传和下载的初始化工作
  upload()
实现文件数据的上传,必须放在initialize方法后面执行
  save(String pathName)
将全部上传文件保存到指定目录下并返回保存文件个数
 setAllowFilesList(String ExtList)
指定允许上传的文件扩展名,以“,”分割
 setAllowFilesList(String ExtList)
指定允许上传的文件扩展名,以“,”分割
 setDeniedFilesList(String ExtList)
禁止允许上传的文件扩展名,以“,”分割
 setMaxFileSize(long filesize)
设定每个文件允许上传的最大长度
 setTotalMaxFileSize(long totalfilesize)
设定允许文件上传的最大长度

4.文件上传和下载的简单实现

(1)文件上传

         SmartUpload smartupload = new SmartUpload();
		
		 smartupload.initialize(getServletConfig(), request, response);
		 
		 // 准备上传 
		 smartupload.upload();
		 
		 Files files = smartupload.getFiles(); String filename="/upload/";
		 
		 
		 //获取上传的文件集 Files files=smartupload.getFiles();
		 
		 //以文件名保存
		  for(int i=0;i<files.getCount();i++) { 
		  File file=files.getFile(i);
		  filename=filename+file.getFileName(); 
		  System.out.print(filename);
		  
		 file.saveAs(filename,SmartUpload.SAVE_AUTO);
		 
		 
		 }
		 
		 

(2)文件下载

		SmartUpload smartupload = new SmartUpload();
		smartupload.initialize(getServletConfig(), request, response);
		
		try {
			smartupload.downloadFile("upload/new.txt");
		} catch (SmartUploadException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

你可能感兴趣的:(jsp)