jspSmarUpload组件中的主要类
来源:互联网 发布:连续剧 容祖儿 知乎 编辑:程序博客网 时间:2024/05/22 00:09
在jspSmartUpload组件中主要包含了File、Files、Request和SmartUpload核心类
1、File类
File类不同于java.io.File类,在编写程序时应注意使用。File类用于保存单个文件的相关信息。如上传文件的文件名、文件大小、文件数据等。
File类中提供了两种形式的saveAs()方法:
1、saveAs(String destFilePathName)
destFilePathName参数用于指定文件保存的路径,包含文件名。其值应以”/”开头
2、saveAs(String destFilePathName,int optionSaveAs)
optionSaveAs参数用于指定保存目标选项,该选项有三个值,分别是:
1.SAVEAS_AUTO -> 0
saveAs(“/files/myfile.txt”,File.SAVEAS_AUTO)或saveAs(“/files/myfile.txt”,0)
如果FileUpDown应用根目录下存在‘files’子目录,则以SAVEAS_VIRTUAL方式保存文件,否则以SAVEAS_PHYSICAL方式保存文件
2.SAVEAS_VIRTUAL -> 1
saveAs(“/files/myfile.txt”,File.SAVEAS_VIRTUAL)或saveAs(“/files/myfile.txt”,1)
如果FileUpDown应用下存在’files’子目录,则将上传的文件以”myfile.txt”为文件名进行保存,实际的保存路径为”E:\Tomcat\webapps\FileUpDown\files\myfile.txt”
如果不存在’files’子目录,则抛出异常
3.SAVEAS_PHYSICAL -> 2
saveAs(“/files/myfile.txt”,File.SAVEAS_PHYSICAL)或saveAs(“/files/myfile.txt”,2)
由于Tomcat安装在E盘,因此,若E盘更目录下存在’files’子目录,则将上传的文件以”myfile.txt”为文件名进行保存,实际的保存路径为”E:\file|myfile.txt”.
如果E盘根目录不存在’files’子目录,而FileUpDown应用的根目录下存在’files’子目录,则抛出异常
2、Files类
Files类存储了所有上传的文件,通过类中的方法可活得上传文件的数量和总长度等信息。
3、Request类
设置该类的目的是因为当Form表单实现文件上传时,通过JSP内置对象request的getParameter()方法无法获取其他表单项的值,所以提供了该类来获取
4、SmartUpload类
1)在使用jspSmartUpload组件实现文件上传与下载时,必须先实现initialize()方法。
1.initialize(ServletConfig config,HttpServletRequest request,HttpServletResponse response)。
2.initialize(ServletContext application,HttpServletRequest request,HttpServletResponse response)
3.initialize(PageContext pageContext)
2)upload()方法
实现了 initialize()方法后,紧接着应事先upload()方法,用来完成一些准备操作。首先在该方法中调用JSP内置对象request的getInputSteam()方法获取客户的输入流,然后通过该输入流的read()方法读取用户上传的所有文件数据到字节数组中,再次在循环语句中从该字节数组中提取每个文件的数据,并将当前提取出的文件信息封装到File类对象中,最后将该File类对象通过Files类的addFile()方法添加到Files类对象中。
3)save()方法
在实现了initialize()方法和upload()方法后,通过调用该方法就可以将全部上传文件保存到指定目录下,并返回保存的文件个数。
save(String destPathName)
->save(String destPathName,0)
save(String destPathName,int option)
实际上,在SmartUpload类中的save()方法中最终是调用File类中的saveAs()方法保存文件。
4)SmartUpload类中用来限制上传文件和获取其他信息的主要方方法。
1.setDeniedFilesList(String deniedFilesList)方法
指定禁止上传文件的扩展名,如setDeniedFilesList(“exe,jsp,bat”)
2.setAllowedFilesList(String allowedFilesList)方法
指定允许上传文件的扩展名
3.setMaxFileSize(long maxFileSize)
4.setTotalMaxFileSize(long totalMaxFileSize)
设置允许上传文件的总长度。
上面介绍的对文件进行限制的方法,需要在uploa()方法之前调用。
文件下载使用的方法
1、setContentDisposition(String contentDisposition)
该方法用于将追加到MIME文件头的CONTENT-DISPOSITION域。参数contentDisposition为要添加的数据。进行文件下载时,将contentDisposition设为null,则组件将自动添加”attachment”,表示将下载的文件作为 附件 ,IE浏览器会弹出“文件下载”对话框,而不是自动打开这个文件。
2、downloadFile()
1.downloadFile(String sourceFilePathName)2.downloadFile(String sourceFilePathName,String contentType)3.downloadFile(String sourceFilePathName,String contentType,String destFileName)4.downloadFile(String sourceFilePathName,String contentType,String destFilePathName,int blockSize)
0 0
- jspSmarUpload组件中的主要类
- jspSmartUpload组件中的主要类
- jspSmartUpload组件中的主要类
- tomcat源码分三----tomcat中的主要组件分析
- ExtJS 主要组件
- Android开发主要组件
- Storm主要组件介绍
- jspSmarUpload上传下载全攻略(转)
- Android 中的Paint类主要方法
- Java多线程:Thread类中的主要方法
- 13.3Runtime 类中的主要方法
- java中的swing组件、主要三大布局管理器的应用
- JMeter 的主要测试组件
- ADO.NET的主要组件
- 属性-主要应用于组件开发
- 2.1 Windows主要系统组件
- Kafka简介及其主要组件
- SpringMVC系列之主要组件
- 1087
- Linux 检测网卡与网线连接状态
- TLD动态跟踪系统中的学习策略—P-N Learning
- 那些曾经记得的C++库
- public、protect、private继承方式 C++
- jspSmarUpload组件中的主要类
- Xcode—解决Xcode删除文件后missing file警告
- 用opencv的traincascade.exe训练行人的HAAR、LBP和HOG特征的xml
- MapReduce的入门介绍
- 学习Scala:使用try-catch表达式处理异常
- python获得http头信息
- ACM中Java的使用
- Oracle修改列 小技巧
- LevelDb日知录