使用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面象对象设计
Apr 28 Javascript
jQuery 常见学习网站与参考书
Nov 09 Javascript
js中top/parent/frame概述及案例应用
Feb 06 Javascript
Bootstrap模态框水平垂直居中与增加拖拽功能
Nov 09 Javascript
VueJS全面解析
Nov 10 Javascript
jQuery Dialog 打开时自动聚焦的解决方法(两种方法)
Nov 24 Javascript
javascript笔记之匿名函数和闭包
Feb 06 Javascript
关于vuex的学习实践笔记
Apr 05 Javascript
解决vue多个路由共用一个页面的问题
Mar 12 Javascript
iview table高度动态设置方法
Mar 14 Javascript
页面点击小红心js实现代码
May 26 Javascript
微信小程序防止多次点击跳转(函数节流)
Sep 19 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 静态页面中显示动态内容
2009/08/14 PHP
PHP实现克鲁斯卡尔算法实例解析
2014/08/22 PHP
PHP数组操作类实例
2015/07/11 PHP
微信公众号开发之语音消息识别php代码
2016/08/08 PHP
Zend Framework数据库操作方法实例总结
2016/12/11 PHP
php中钩子(hook)的原理与简单应用demo示例
2019/09/03 PHP
B/S开发中常用javaScript技术与代码
2007/03/09 Javascript
Js判断参数(String,Array,Object)是否为undefined或者值为空
2013/11/04 Javascript
Javascript改变CSS样式(局部和全局)
2013/12/18 Javascript
JQuery学习总结【一】
2016/12/01 Javascript
select下拉框插件jquery.editable-select详解
2017/01/22 Javascript
AngularJS使用ocLazyLoad实现js延迟加载
2017/07/05 Javascript
解决bootstrap中下拉菜单点击后不关闭的问题
2018/08/10 Javascript
Vue动态组件与异步组件实例详解
2019/02/23 Javascript
Vue自定义属性实例分析
2019/02/23 Javascript
Python正则表达式使用经典实例
2016/06/21 Python
python 递归遍历文件夹,并打印满足条件的文件路径实例
2017/08/30 Python
python获取多线程及子线程的返回值
2017/11/15 Python
对python中的乘法dot和对应分量相乘multiply详解
2018/11/14 Python
python 将日期戳(五位数时间)转换为标准时间
2019/07/11 Python
pip 安装库比较慢的解决方法(国内镜像)
2019/10/06 Python
Python 如何对文件目录操作
2020/07/10 Python
Python 使用生成器代替线程的方法
2020/08/04 Python
用python爬虫批量下载pdf的实现
2020/12/01 Python
HTML5页面嵌入小程序没有返回按钮及返回页面空白的问题
2020/05/28 HTML / CSS
美国护肤咨询及美容产品电商:Askderm
2017/02/24 全球购物
澳洲在线厨具商店:Kitchen Style
2018/05/05 全球购物
上班打牌检讨书
2014/02/07 职场文书
2014乡镇“三八”国际劳动妇女节活动总结
2014/03/01 职场文书
大学生两会学习心得体会
2014/03/10 职场文书
爱护花草树木的标语
2014/06/11 职场文书
2014年学校后勤工作总结
2014/12/06 职场文书
小鞋子观后感
2015/06/05 职场文书
祝福语集锦:给满月宝宝的祝福语
2019/11/20 职场文书
css3实现背景图片半透明内容不透明的方法示例
2021/04/13 HTML / CSS
mysql 联合索引生效的条件及索引失效的条件
2021/11/20 MySQL