使用指南:jspSmartUpload文件上传组件详解

需积分: 10 3 下载量 117 浏览量 更新于2024-07-29 1 收藏 59KB DOC 举报
"jspSmartUpload是一个由www.jspsmart.com提供的免费文件上传下载组件,适用于集成在JSP页面中,提供简单、全面的文件上传和下载功能。它支持对上传文件的大小、类型进行限制,并能方便地从数据库中读写文件。安装时需将组件解压到Tomcat的webapps目录下并修改目录名称,以便于服务器识别。" **jspSmartUpload组件的核心特性:** 1. **简易使用**:jspSmartUpload组件以其简单的API著称,只需要在JSP文件中添加少量Java代码即可实现文件上传和下载功能,大大简化了开发流程。 2. **全程文件控制**:通过组件提供的对象和方法,开发者能够获取所有上传文件的详细信息,如文件名、大小、类型、扩展名以及实际的数据内容,便于后续的存储和处理。 3. **上传限制**:允许设置文件大小和类型的限制,确保上传的文件符合系统规定,有助于防止恶意文件的上传,保护服务器安全。 4. **灵活下载**:只需两行代码,jspSmartUpload就能实现从任意目录下的文件下载,轻松将Web服务器转变为文件服务器。 5. **数据库交互**:虽然不广泛适用,但该组件还支持将文件上传到MySQL数据库以及从数据库中下载数据。这为特定场景提供了更多的灵活性。 **安装与配置**: 在www.jspsmart.com网站上下载jspSmartUpload.zip压缩包,解压缩到Tomcat的webapps目录下,然后将`web-inf`目录改名为全大写的`WEB-INF`。因为Tomcat对文件名大小写敏感,此改动使得组件的类能够被正确识别。重启Tomcat后,JSP文件就能使用jspSmartUpload组件了。 若要使所有Web应用程序都能使用该组件,需要在命令行环境下,进入Tomcat的webapps/jspsmartupload/WEB-INF目录,执行相应的配置步骤。 **使用示例**: 在JSP文件中,通常会创建一个SmartUpload对象,初始化它,设置上传限制,然后调用其方法处理文件上传。例如: ```java <%@ page import="com.jspsmart.upload.*" %> <% SmartUpload smartUpload = new SmartUpload(); smartUpload.initialize(request, response); smartUpload.setMaxFileSize(1000000); // 设置最大文件大小为1MB smartUpload.setAllowedFileExtensions(new String[]{"jpg", "png"}); // 只允许上传jpg和png文件 smartUpload.upload(); for (int i = 0; i < smartUpload.getFiles().getCount(); i++) { FileItem fileItem = smartUpload.getFiles().getFile(i); String fileName = fileItem.getFieldName(); byte[] fileData = fileItem.getData(); // 这里可以处理文件数据,如保存到服务器或数据库 } %> ``` 这段代码展示了如何初始化SmartUpload对象,设置上传限制,执行上传并遍历上传的文件。实际使用中,开发者需要根据需求处理每个文件项的文件数据,例如存储到硬盘或数据库。 jspSmartUpload是一个强大的工具,它简化了在JSP环境中处理文件上传和下载的任务,同时提供了丰富的控制选项,使得文件管理更加安全和高效。通过深入理解和合理使用这个组件,开发者可以构建出更健壮、用户友好的文件管理系统。
2007-08-27 上传
jspSmartUpload组件可以从www.jspsmart.com网站上下载,名字是jspSmartUpload.zip。下载后,用WinRAR将其解压到Tomcat的webapps目录下。将webapps/jspsmartupload目录下的子目录Web-inf名字改为全大写的WEB-INF,因为Tomcat对文件名大小写敏感,它要求Web应用程序相关的类所在目录为WEB-INF,且必须是大写。接着重新启动Tomcat,这样就可以在JSP文件中使用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,以便移植
^^^^^^^^^^^^^^^^^^^^^^…………………………………………………………………………………………………………………………………………………………………………