jspSmartUpload 使用教程
### jspSmartUpload 使用教程 #### 一、安装与配置 **jspSmartUpload** 是一个功能强大的文件上传组件,主要用于简化Java Web应用中的文件上传流程。为了能够在项目中使用此组件,首先需要按照一定的步骤进行安装与配置。 1. **下载与解压:** - 访问官方网站 [www.jspsmart.com](http://www.jspsmart.com/) 下载 jspSmartUpload 组件,文件名为 jspSmartUpload.zip。 - 使用 WinRAR 或其他解压工具将 jspSmartUpload.zip 解压至 Tomcat 的 webapps 目录下。 2. **目录名称修改:** - 将解压后的目录中的子目录 `Web-inf` 改名为全部大写的 `WEB-INF`,这是因为 Tomcat 对文件名大小写敏感,并且要求 Web 应用程序的相关类所在的目录为 `WEB-INF` 且必须是大写。 - 重启 Tomcat 服务器后,即可在 JSP 文件中使用 jspSmartUpload 组件。 3. **全局应用配置:** - 如果希望 Tomcat 服务器的所有 Web 应用程序都能够使用 jspSmartUpload 组件,需要进一步配置: 1. 进入命令行状态,将目录切换到 Tomcat 的 webapps/jspsmartupload/WEB-INF 目录下。 2. 运行 JAR 打包命令:`jar cvf jspSmartUpload.jar com`。(或者使用 WinZip 将 `com` 目录下的所有文件压缩成 jspSmartUpload.zip,然后将 jspSmartUpload.zip 改名为 jspSmartUpload.jar。) 3. 将 jspSmartUpload.jar 拷贝到 Tomcat 的 shared/lib 目录下。 #### 二、相关类说明篇 本部分将详细介绍 jspSmartUpload 中的核心类——`File` 类及其常用方法。 ##### ㈠ File 类 `File` 类封装了一个上传文件的所有信息,包括文件名、文件大小、扩展名以及文件数据等信息。下面列出了一些重要的方法: 1. **saveAs:** 用于将文件另存为指定的文件名。 - 原型:`public void saveAs(String destFilePathName)` - 另一种形式:`public void saveAs(String destFilePathName, int optionSaveAs)` - 其中 `destFilePathName` 表示新的文件路径和文件名;`optionSaveAs` 是一个选项参数,有三个可选值: - `SAVEAS_PHYSICAL`:表示以操作系统的根目录为文件根目录另存文件。 - `SAVEAS_VIRTUAL`:表示以 Web 应用程序的根目录为文件根目录另存文件。 - `SAVEAS_AUTO`:表示让组件自动决定保存方式,如果 Web 应用程序的根目录下存在另存文件的目录,则选择 `SAVEAS_VIRTUAL`,否则选择 `SAVEAS_PHYSICAL`。 - 示例: - `saveAs("/upload/sample.zip", SAVEAS_PHYSICAL)`:如果 Web 服务器安装在 C 盘,则最终的文件路径为 `C:\upload\sample.zip`。 - `saveAs("/upload/sample.zip", SAVEAS_VIRTUAL)`:如果 Web 应用程序的根目录为 `webapps/jspsmartupload`,则最终的文件路径为 `webapps/jspsmartupload/upload/sample.zip`。 - `saveAs("/upload/sample.zip", SAVEAS_AUTO)`:如果 Web 应用程序根目录下存在 `upload` 目录,则效果与 `SAVEAS_VIRTUAL` 相同,否则与 `SAVEAS_PHYSICAL` 相同。 - **建议:** 对于 Web 程序开发而言,推荐使用 `SAVEAS_VIRTUAL`,以提高代码的移植性。 2. **isMissing:** 用于判断用户是否选择了文件。 - 原型:`public boolean isMissing()` - 如果用户选择了文件,则返回 false;否则返回 true。 3. **getFieldName:** 获取 HTML 表单中与上传文件对应的表单项的名字。 - 原型:`public String getFieldName()` 4. **getFileName:** 获取文件名(不包含路径信息)。 - 原型:`public String getFileName()` 5. **getFilePathName:** 获取文件的完整路径名(包含路径信息)。 - 原型:`public String getFilePathName()` 6. **getFileExt:** 获取文件扩展名(即文件后缀)。 - 原型:`public String getFileExt()` 7. **getSize:** 获取文件大小(以字节为单位)。 - 原型:`public int getSize()` 8. **getBinaryData:** 获取文件数据中指定位置的一个字节,通常用于文件检测等操作。 - 原型:`public byte getBinaryData(int index)` - 其中 `index` 表示要获取的字节的位置索引。 以上介绍的方法是 `File` 类中最为常用的部分。通过这些方法,开发者可以方便地实现文件上传、保存以及获取文件相关信息等功能。掌握这些方法对于高效地使用 jspSmartUpload 组件至关重要。
按上述方法安装后,只有webapps/jspsmartupload目录下的程序可以使用jspSmartUpload组件,如果想让Tomcat服务器的所有Web应用程序都能用它,必须做如下工作
1.进入命令行状态,将目录切换到Tomcat的webapps/jspsmartupload/WEB-INF目录下
2.运行JAR打包命令:jar cvf jspSmartUpload.jar com
(也可以打开资源管理器,切换到当前目录,用WinZip将com目录下的所有文件压缩成jspSmartUpload.zip,然后将jspSmartUpload.zip换名为jspSmartUpload.jar文件即可。)
3.将jspSmartUpload.jar拷贝到Tomcat的shared/lib目录下。
二、相关类说明篇
㈠ File类
这个类包装了一个上传文件的所有信息。通过它,可以得到上传文件的文件名、文件大小、扩展名、文件数据等信息
File类主要提供以下方法
1、saveAs作用:将文件换名另存
原型
public void saveAs(java.lang.String destFilePathName)
或
public void saveAs(java.lang.String destFilePathName, int optionSaveAs)
其中,destFilePathName是另存的文件名,optionSaveAs是另存的选项,该选项有三个值,分别是SAVEAS_PHYSICAL,SAVEAS_VIRTUAL,SAVEAS_AUTO。SAVEAS_PHYSICAL表明以操作系统的根目录为文件根目录另存文件,SAVEAS_VIRTUAL表明以Web应用程序的根目录为文件根目录另存文件,SAVEAS_AUTO则表示让组件决定,当Web应用程序的根目录存在另存文件的目录时,它会选择SAVEAS_VIRTUAL,否则会选择SAVEAS_PHYSICAL
例如,saveAs("/upload/sample.zip",SAVEAS_PHYSICAL)执行后若Web服务器安装在C盘,则另存的文件名实际是c:\upload\sample.zip。而saveAs("/upload/sample.zip",SAVEAS_VIRTUAL)执行后若Web应用程序的根目录是webapps/jspsmartupload,则另存的文件名实际是webapps/jspsmartupload/upload/sample.zip。saveAs("/upload/sample.zip",SAVEAS_AUTO)执行时若Web应用程序根目录下存在upload目录,则其效果同saveAs("/upload/sample.zip",SAVEAS_VIRTUAL),否则同saveAs("/upload/sample.zip",SAVEAS_PHYSICAL)
建议:对于Web程序的开发来说,最好使用SAVEAS_VIRTUAL,以便移植
2、isMissing
作用:这个方法用于判断用户是否选择了文件,也即对应的表单项是否有值。选择了文件时,它返回false。未选文件时,它返回true
原型:public boolean isMissing()
3、getFieldName
作用:取HTML表单中对应于此上传文件的表单项的名字
原型:public String getFieldName()
4、getFileName
作用:取文件名(不含目录信息)
原型:public String getFileName()
5、getFilePathName
作用:取文件全名(带目录)
原型:public String getFilePathName
作用:取文件扩展名(后缀)
原型:public String getFileExt()
7、getSize
作用:取文件长度(以字节计)
原型:public int getSize()
8、getBinaryData
作用:取文件数据中指定位移处的一个字节,用于检测文件等处理
原型:public byte getBinaryData(int index)。其中,index表示位移,其值在0到getSize()-1之间。
㈡ Files类
这个类表示所有上传文件的集合,通过它可以得到上传文件的数目、大小等信息。有以下方法
1、getCount
作用:取得上传文件的数目
原型:public int getCount()
2、getFile
作用:取得指定位移处的文件对象File(这是com.jspsmart.upload.File,不是java.io.File,注意区分)
原型:public File getFile(int index)。其中,index为指定位移,其值在0到getCount()-1之间
3、getSize
作用:取得上传文件的总长度,可用于限制一次性上传的数据量大小
原型:public long getSize()
4、getCollection
作用:将所有上传文件对象以Collection的形式返回,以便其它应用程序引用,浏览上传文件信息
原型:public Collection getCollection()
5、getEnumeration
作用:将所有上传文件对象以Enumeration(枚举)的形式返回,以便其它应用程序浏览上传文件信息
原型:public Enumeration getEnumeration()
㈢ Request类
这个类的功能等同于JSP内置的对象request。只所以提供这个类,是因为对于文件上传表单,通过request对象无法获得表单项的值,必须通过jspSmartUpload组件提供的Request对象来获取。该类提供如下方法
1、getParameter
作用:获取指定参数之值。当参数不存在时,返回值为null
剩余9页未读,继续阅读
- qiye20082013-02-28说的挺详细的,不过例子有点简单
- jianglufy2012-02-29说的挺详细的,不过例子有点简单
- gongqianwei2012-05-12说的挺详细的,不过例子有点简单
- frankie_9992011-12-22说的还算清晰,就是例子举得不是很详细,不过也谢谢楼主了
- 粉丝: 2
- 资源: 20
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助