使用smartupload组件实现jsp+jdbc上传下载文件实例解析


Posted in Javascript onJanuary 05, 2017

SmartUpload组件只有5个分别是:File、Files、Request、SmartUpload、SmartUploadException类,其中,File代表用户上传的文件,Files代表用户上传的多个文件,Request相当于HttpServletRequest的功能,用于获取表单数据,SmartUpload是最核心的类,负责文件上传下载,SmartUploadException是自定义异常。

   SmartUpload的基本使用思路如下:

jsp前台代码表单提交

<form action="" method="post" name="form1" onSubmit="r" enctype="multipart/form-data"> 
<input type="file" name="img" size="34"></td> 
</form>
//创建SmartUpload的实例 
SmartUpload su = new SmartUpload(); 
//初始化,如果是在Servlet中使用,则调用另一个重载方法:initialize(ServletConfig, HttpServletRequest, HttpServletResponse) 
su.initialize(pageContext); 
//完成上传操作 
su.upload(); 
//将上传的文件保存到指定的文件夹。参数1表示文件保存的路径,参数2是可选选项 
su.save("uploads/", SmartUpload.SAVE_VIRTUAL);

在save方法中,有三个常量:SAVEAS_PHYSICAL,SAVEAS_VIRTUAL,SAVEAS_AUTO,意义分别是:

SAVEAS_PHYSICAL表明以操作系统的根目录为文件根目录另存文件,SAVEAS_VIRTUAL表明以Web应用程序的根目录为文件根目录另存文件,SAVEAS_AUTO则表示让组件决定,当Web应用程序的根目录存在另存文件的目录时,它会选择SAVEAS_VIRTUAL,否则会选择SAVEAS_PHYSICAL。   

 如果希望给文件重命名(这是经常遇到的问题),可以调用File类的saveAs方法保存单个的文件,代码如下: 

SmartUpload su = new SmartUpload(); 
su.initialize(pageContext); 
//指定扩展名 
su.setAllowedFilesList("bmp,jpg,bng,gif"); 
//指定大小 
su.setMaxFileSize(1 * 1024 * 1024); 
su.upload(); 
//单独保存文件,用UUID名称保存 
Files files = su.getFiles(); 
for(int i = 0; i < files.getCount(); i ++){ 
 File f = files.getFile(i); 
 if(!f.isMissing()){ 
 //保存单个文件,参数1为文件名,参数2为可选选项。 
 f.saveAs("uploads/" +  
  UUID.randomUUID().toString() + "." + 
  f.getFileExt(), 
  SmartUpload.SAVE_VIRTUAL); 
 } 
}

 使用SmartUpload实现文件下载就更简单了,不再直接和数据流打交道,非常贴心的设计。SmartUpload定义了一个名为downloadFile()的方法,该方法的参数指定要下载的文件即可。当然,在此之前要先调用setContentDisposition(null),参数为null表示告知浏览器下载文件。代码如下:  

SmartUpload su = new SmartUpload(); 
su.initialize(pageContext); 
su.setContentDisposition(null); //表示这是一个下载操作 
su.downloadFile("uploads/fa79a56a-5e64-407d-a22b-8606d512b447.jpg");

smartupload组件包下载地址:http://download.csdn.net/detail/qq_24886937/9729267

以上所述是小编给大家介绍的使用smartupload组件实现jsp+jdbc上传下载文件实例解析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
使用jquery动态加载javascript以减少服务器压力
Oct 29 Javascript
js中replace的用法总结
Dec 27 Javascript
调用innerHTML之后onclick失效问题的解决方法
Jan 28 Javascript
ExtJS4 动态生成的grid导出为excel示例
May 02 Javascript
Js Jquery创建一个弹出层可加载一个页面
May 08 Javascript
jQuery实现根据类型自动显示和隐藏表单
Mar 18 Javascript
浅谈js构造函数的方法与原型prototype
Jul 04 Javascript
angular 动态组件类型详解(四种组件类型)
Feb 22 Javascript
Javascript实现的StopWatch功能示例
Jun 13 Javascript
基于vue写一个全局Message组件的实现
Aug 15 Javascript
微信小程序拼接图片链接无底洞深入探究
Sep 03 Javascript
Node.js中出现未捕获异常的处理方法
Jun 29 Javascript
javascript解析ajax返回的xml和json格式数据实例详解
Jan 05 #Javascript
Node.js中文件操作模块File System的详细介绍
Jan 05 #Javascript
Extjs让combobox写起来简洁又漂亮
Jan 05 #Javascript
JS实现给对象动态添加属性的方法
Jan 05 #Javascript
bootstrap datetimepicker实现秒钟选择下拉框
Jan 05 #Javascript
JavaScript实现数组降维详解
Jan 05 #Javascript
jQuery解析返回的xml和json方法详解
Jan 05 #Javascript
You might like
PHP的面向对象编程
2006/10/09 PHP
sae使用smarty模板的方法
2013/12/17 PHP
ThinkPHP中关联查询实例
2014/12/02 PHP
WebGame《逆转裁判》完整版 代码下载(1月24日更新)
2007/01/29 Javascript
IE6/7/8/9不支持exec的简写方式
2011/05/25 Javascript
浅析Node.js查找字符串功能
2014/09/03 Javascript
详解Nodejs的timers模块
2016/12/22 NodeJs
jQuery中绑定事件bind() on() live() one()的异同
2017/02/23 Javascript
VUE使用vuex解决模块间传值问题的方法
2017/06/01 Javascript
JQueryMiniUI按照时间进行查询的实现方法
2017/06/07 jQuery
详解微信小程序设置底部导航栏目方法
2017/06/29 Javascript
Vue中的无限加载vue-infinite-loading的方法
2018/04/08 Javascript
详解基于Vue cli生成的Vue项目的webpack4升级
2018/06/19 Javascript
js 计算月/周的第一天和最后一天代码
2020/02/01 Javascript
[45:18]2018DOTA2亚洲邀请赛 4.3 突围赛 Optic vs iG 第一场
2018/04/04 DOTA
[01:58]2018DOTA2亚洲邀请赛趣味视频——交流
2018/04/03 DOTA
python赋值操作方法分享
2013/03/23 Python
一条命令解决mac版本python IDLE不能输入中文问题
2018/05/15 Python
解决python "No module named pip" 的问题
2018/10/13 Python
删除DataFrame中值全为NaN或者包含有NaN的列或行方法
2018/11/06 Python
Python实现八皇后问题示例代码
2018/12/09 Python
python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形)
2019/05/30 Python
30秒学会30个超实用Python代码片段【收藏版】
2019/10/15 Python
使用python的turtle绘画滑稽脸实例
2019/11/21 Python
Python控制鼠标键盘代码实例
2020/12/08 Python
让IE6、IE7、IE8支持CSS3的脚本
2010/07/20 HTML / CSS
Android面试题附答案
2014/12/08 面试题
大四毕业生学习总结的自我评价
2013/10/31 职场文书
销售主管的自我评价分享
2014/01/03 职场文书
民族学专业职业生涯规划范文:积跬步以至千里
2014/09/11 职场文书
办公用房租赁协议书
2014/11/29 职场文书
公积金接收函格式
2015/01/30 职场文书
结婚保证书(卖身契)
2015/02/26 职场文书
任命通知范文
2015/04/21 职场文书
单位领导婚礼致辞
2015/07/28 职场文书
python中的被动信息搜集
2021/04/29 Python