使用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 定时器setTimeout无法调用局部变量的解决办法
Nov 28 Javascript
js简单实现删除记录时的提示效果
Dec 05 Javascript
JS二维数组的定义说明
Mar 03 Javascript
动态加载js、css的实例代码
May 26 Javascript
jquery UI Datepicker时间控件冲突问题解决
Dec 16 Javascript
JavaScript实现垂直滚动条效果
Jan 18 Javascript
基于Vue 2.0 监听文本框内容变化及ref的使用说明介绍
Aug 24 Javascript
浅谈Vue的响应式原理
May 30 Javascript
JS事件流与事件处理程序实例分析
Aug 16 Javascript
微信小程序webSocket的使用方法
Feb 20 Javascript
Vue初始化中的选项合并之initInternalComponent详解
Jun 11 Javascript
js+canvas实现画板功能
Sep 13 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中curl和file_get_content的区别
2014/05/10 PHP
ThinkPHP学习笔记(一)ThinkPHP部署
2014/06/22 PHP
php正则去除网页中所有的html,js,css,注释的实现方法
2016/11/03 PHP
Laravel框架自定义公共函数的引入操作示例
2019/04/16 PHP
PHP实现单条sql执行多个数据的insert语句方法
2019/10/11 PHP
写给想学习Javascript的朋友一点学习经验小结
2010/11/23 Javascript
jquery动态加载图片数据练习代码
2011/08/04 Javascript
利用javascript判断文件是否存在
2013/12/31 Javascript
jquery和javascript中如何将一元素的内容赋给另一元素
2014/01/09 Javascript
鼠标事件的screenY,pageY,clientY,layerY,offsetY属性详解
2015/03/12 Javascript
JavaScript+CSS无限极分类效果完整实现方法
2015/12/22 Javascript
浅谈js图片前端预览之filereader和window.URL.createObjectURL
2016/06/30 Javascript
js style.display=block显示布局错乱问题的解决方法
2016/09/21 Javascript
学习使用bootstrap的modal和carousel
2016/12/09 Javascript
基于jquery实现五星好评
2017/11/18 jQuery
Angular 作用域scope的具体使用
2017/12/11 Javascript
微信小程序首页的分类功能和搜索功能的实现思路及代码详解
2018/09/11 Javascript
vue实现路由切换改变title功能
2019/05/28 Javascript
解决layui表格内文本超出隐藏的问题
2019/09/12 Javascript
vue2.x 通过后端接口代理,获取qq音乐api的数据示例
2019/10/30 Javascript
vscode调试node.js的实现方法
2020/03/22 Javascript
Python实例一个类背后发生了什么
2016/02/09 Python
代码分析Python地图坐标转换
2018/02/08 Python
python顺序的读取文件夹下名称有序的文件方法
2018/07/11 Python
Python-Tkinter Text输入内容在界面显示的实例
2019/07/12 Python
python同时遍历两个list用法说明
2020/05/02 Python
css3 实现元素弧线运动的示例代码
2020/04/24 HTML / CSS
Too Faced官网:美国知名彩妆品牌
2017/03/07 全球购物
实习鉴定范文
2013/12/19 职场文书
艾滋病宣传标语
2014/06/25 职场文书
我爱家乡演讲稿
2014/09/12 职场文书
小学趣味运动会加油稿
2014/09/25 职场文书
党员先进事迹材料
2014/12/19 职场文书
道歉信怎么写
2015/05/12 职场文书
订货会主持词
2015/07/01 职场文书
详细介绍Java中的CyclicBarrier
2022/04/13 Java/Android