SmartUpload实现文件上传和下载

来源:互联网 发布:材工程料管理系统源码 编辑:程序博客网 时间:2024/05/16 06:35
jspSmartUpload组件是应用JSP进行B/S程序开发过程中经常使用的上传下载组件,它使用简单,方便。
jspSmartUpload是一个可免费使用的全功能的文件上传下载组件,适于嵌入执行上传下载操作的JSP文件中。该组件有以下几个特点:
1、使用简单。在JSP文件中仅仅书写三五行java代码就可以搞定文件的上传或下载,方便。
2、能全程控制上传。利用jspSmartUpload组件提供的对象及其操作方法,可以获得全部上传文件的信息(包括文件名,大小,类型,扩展名,文件数据等),方便存取。
3、能对上传的文件在大小、类型等方面做出限制。如此可以滤掉不符合要求的文件。
4、下载灵活。仅写两行代码,就能把Web服务器变成文件服务器。不管文件在Web服务器的目录下或在其它任何目录下,都可以利用jspSmartUpload进行下载。
File类:
    不同于java.io.File类,在编写时一定要注意,很多同学都习惯导入java.io下的File类。File类适用于保存单个上传文件的信息。如文件名,大小,类型和数据等。
    常用方法:
    saveAs()          用于保存文件
    提供了两种形式:
    saveAs(String destFilepathName)    
    saveAs(String destFilepathName,int  optionSaveAs)
    destFilepathName:指定文件保存路径,包含文件名。其值以“/”开始。
    
optionSaveAs:保存目标选项。该选项有3个值:SAVEAS_AUTO、SAVEAS_ VIRTUAL和SAVEAS_PHYSICAL分别为0,1,2.
SAVEAS_VIRTUAL以web应用程序的根目录为文件跟目录。(webapps/jsp7/) ,
  SAVEAS_PHYSICAL将以Web服务器的安装路径中的磁盘根目录为文件根目录.SAVEAS_AUTO则首先SAVEAS_VIRTUAL方式来保存文件,若Web应用下由destFilePathName参数指定的路径不存在,则以SAVEAS_PHYSICAL方式保存文件。


    
isMissing()     用于判断用户是否选择了文件,即表单中对应的<input type="file">标记实现的文件选择域中是否有值。该方法返回boolean型值,选择了文件时,返回False;否则返回True
   getFieldName()   获取Form表单中当前上传文件所对应的表单项的名称
   getFileName()     获取文件名,仅指文件名,不包含路径
   getFilePathName()  获取文件的文件全名
   getFileExt()         获取文件扩展名
   getContentType()  获取文件类型
   getContentString()  获取文件内容
   getSize()               获取文件大小,返回是int值
   getBinaryData(int index)  返回值为byte,获取文件数据中参数index指定位置处的一个字节


Files类:
     
所有上传文件的信息。
    getCount()    获得上传文件个数
    getSize()      获得总大小                             

    getFile(int index) 获得指定位置的com.jspsmart.upload.File对象
    getCollection() 将所有File对象以Collection的形式返回
   getEnumeration() 将所有File对象以Enumeration形式返回 
 

Request类:
    在java类中,提供此类用于获取表单元素。很多参考书上因为做的是文件上传,无法通过 jsp内置对象获取到参数值,但本人经过测试,关于表单中的其他数据可以根据内置对象request获取。
        getParameter()    :获取指定参数之值。当参数不存在时,返回值为null。
        getParameterValues() 当一个参数可以有多个值时,用此方法来取其值。它返回的是一个字符串数组。当参数不存在时,返回值为null。
        getParameterNames()   取得Request对象中所有参数的名字,用于遍历所有参数。它返回的是一个枚举型的对象。  

SmartUpload类   
  
        
initialize(PageContext  context)     执行上传下载的初始化工作,必须第一个执行。,context为JSP页面内置对象(页面上下文)。       
 
        upload() 上传文件数据。对于上传操作,第一步执行initialize方法,第二步就要执行这个方法。
        save()    将全部上传文件保存到指定目录下,并返回保存的文件个数。
        getSize()  取上传文件数据的总长度
        
getFiles()   取全部上传文件,以Files对象形式返回,可以利用Files类的操作方法来获得上传文件的数目等信息。
        
 getRequest()  取得Request对象,以便由此对象获得上传表单参数之值。   
       
setAllowedFilesList()    设定允许上传带有指定扩展名的文件,当上传过程中有文件名不允许时,组件将抛出异常 
 
 
     setDeniedFilesList()  用于限制上传那些带有指定扩展名的文件。若有文件扩展名被限制,则上传时组件将抛出异常
       setMaxFileSize()设定每个文件允许上传的最大长度。
       setTotalMaxFileSize()设定允许上传的文件的总长度,用于限制一次性上传的数据量大小。
       setContentDisposition()将数据追加到MIME文件头的CONTENT-DISPOSITION域。jspSmartUpload组件会在返回下载的信息时自动填写MIME文件头的CONTENT-DISPOSITION域,如果用户需要添加额外信息,请用此方法。
       downloadFile()下载文件。 
 
 
0 0