使用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 相关文章推荐
js实现的网站首页随机公告随机公告
Mar 14 Javascript
JS 树形递归实例代码
May 18 Javascript
jquery ajax例子返回值详解
Sep 11 Javascript
jquery聚焦文本框与扩展文本框聚焦方法
Oct 12 Javascript
JavaScript中的prototype.bind()方法介绍
Apr 04 Javascript
纯javascript实现分页(两种方法)
Aug 26 Javascript
理解JavaScript中Promise的使用
Jan 18 Javascript
浅谈JS继承_借用构造函数 &amp; 组合式继承
Aug 16 Javascript
AngularJS使用自定义指令替代ng-repeat的方法
Sep 17 Javascript
jquery实时获取时间的简单实例
Jan 26 Javascript
Vue2.0父子组件传递函数的教程详解
Oct 16 Javascript
基于JS实现html中placeholder属性提示文字效果示例
Apr 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上传文件的增强函数
2010/07/21 PHP
php下统计用户在线时间的一种尝试
2010/08/26 PHP
解析php5配置使用pdo
2013/07/03 PHP
PHP判断一个字符串是否是回文字符串的方法
2015/03/23 PHP
突发奇想的一个jquery插件
2010/11/19 Javascript
jquery 实现密码框的显示与隐藏示例代码
2013/09/18 Javascript
JQuery实现鼠标移动图片显示描述层的方法
2015/06/25 Javascript
jquery+php随机生成红包金额数量代码分享
2015/08/27 Javascript
Bootstrap Table的使用总结
2016/10/08 Javascript
Bootstrap导航条鼠标悬停下拉菜单
2017/01/04 Javascript
JS实现可视化文件上传
2018/09/08 Javascript
利用vue重构有赞商城的思路以及总结整理
2019/02/21 Javascript
Vue 列表上下过渡效果的实例代码
2019/06/25 Javascript
[03:15]2014DOTA2国际邀请赛 专访国士无双信心满满
2014/07/12 DOTA
Python中使用第三方库xlrd来写入Excel文件示例
2015/04/05 Python
Django Highcharts制作图表
2016/08/27 Python
Python数据结构与算法之字典树实现方法示例
2017/12/13 Python
Python3.6简单反射操作示例
2018/06/14 Python
Python之列表实现栈的工作功能
2019/01/28 Python
python函数参数(必须参数、可变参数、关键字参数)
2019/08/16 Python
Python实现直播推流效果
2019/11/26 Python
2020版Python学习路线图(附学习资料)
2020/09/15 Python
HTML5语音识别标签写法附图
2013/11/18 HTML / CSS
电厂厂长岗位职责
2014/01/02 职场文书
广告学毕业生求职信
2014/01/30 职场文书
工程质量承诺书范文
2014/03/27 职场文书
国家奖学金获奖感言
2014/08/16 职场文书
教师纪念9.18事件演讲稿范文
2014/09/14 职场文书
2014年小学英语教师工作总
2014/12/03 职场文书
旷课检讨书
2015/01/26 职场文书
2015毕业生自我评价范文
2015/03/02 职场文书
研究生导师推荐信
2015/03/25 职场文书
2015年暑期社会实践报告
2015/07/13 职场文书
2016学习医德医风心得体会
2016/01/25 职场文书
导游词之广州陈家祠
2019/10/21 职场文书
SQL优化老出错,那是你没弄明白MySQL解释计划用法
2021/11/27 MySQL