使用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 相关文章推荐
JavaScript 序列化对象实现代码
Dec 18 Javascript
JQuery优缺点分析说明
Apr 10 Javascript
javascript 随机展示头像实现代码
Dec 06 Javascript
jQuery 移动端artEditor富文本编辑器
Jan 11 Javascript
AngularJs Javascript MVC 框架
Jun 20 Javascript
jQuery Mobile漏洞会有跨站脚本攻击风险
Feb 12 Javascript
jQuery插件FusionCharts绘制的3D饼状图效果实例【附demo源码下载】
Mar 03 Javascript
Swiper自定义分页器使用详解
Dec 28 Javascript
简单了解微信小程序 e.target与e.currentTarget的不同
Sep 27 Javascript
Vue 一键清空表单的实现方法
Feb 07 Javascript
webpack安装配置与常见使用过程详解(结合vue)
Jun 01 Javascript
javascript实现放大镜功能
Dec 09 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
短波问题解答
2021/02/28 无线电
PHP中防止SQL注入实现代码
2011/02/19 PHP
php生成唯一的订单函数分享
2015/02/02 PHP
使用vs code编辑调试php配置的方法
2019/01/29 PHP
extjs grid取到数据而不显示的解决
2008/12/29 Javascript
js创建对象的几种常用方式小结(推荐)
2010/10/24 Javascript
简洁Ajax函数处理(示例代码)
2013/11/15 Javascript
JavaScript获取图片的原始尺寸以宽度为例
2014/05/04 Javascript
node.js中的fs.lchmodSync方法使用说明
2014/12/16 Javascript
ECMAScript6函数默认参数
2015/06/12 Javascript
jq实现左侧显示图片右侧文字滑动切换效果
2015/08/04 Javascript
全面解析Bootstrap布局组件应用
2016/02/22 Javascript
浅谈JavaScript中数组的增删改查
2016/06/20 Javascript
js判断手机系统是android还是ios
2017/03/07 Javascript
mui框架 页面无法滚动的解决方法(推荐)
2018/01/25 Javascript
vue判断input输入内容全是空格的方法
2018/03/02 Javascript
微信小程序入门之广告条实现方法示例
2018/12/05 Javascript
JQuery搜索框自动补全(模糊匹配)功能实现示例
2019/01/08 jQuery
15分钟学会vue项目改造成SSR(小白教程)
2019/12/17 Javascript
Vue.js中的高级面试题及答案
2020/01/13 Javascript
如何在vue中使用HTML 5 拖放API
2021/01/14 Vue.js
Python中声明只包含一个元素的元组数据方法
2014/08/25 Python
Python+OpenCV人脸检测原理及示例详解
2020/10/19 Python
pyqt5实现俄罗斯方块游戏
2019/01/11 Python
对Python 多线程统计所有csv文件的行数方法详解
2019/02/12 Python
CSS3教程:边框属性border的极致应用
2009/04/02 HTML / CSS
基于 HTML5 WebGL 实现的垃圾分类系统
2019/10/08 HTML / CSS
解决HTML5中滚动到底部的事件问题
2019/08/22 HTML / CSS
goodhealth官方海外旗舰店:新西兰国民营养师
2017/12/15 全球购物
英国网上购买门:Direct Doors
2018/06/07 全球购物
中学生学习生活的自我评价
2013/10/26 职场文书
体育节口号
2014/06/19 职场文书
普宁寺导游词
2015/02/04 职场文书
现役军人家属慰问信
2015/03/24 职场文书
师范生见习自我总结
2015/06/23 职场文书
MySQL中order by的使用详情
2021/11/17 MySQL