smartupload实现文件上传时获取表单数据(推荐)


Posted in Javascript onDecember 12, 2016

实现文件上传的form表单必须满足两个条件:method="post" enctype="multipart/form-data"

表单中enctype="multipart/form-data"的意思是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据。enctype="multipart/form-data"是上传二进制数据; form里面的input的值以二进制的方式传过去。所以request就得不到值了, 也就是说加了这段代码,用request就会传递不成功。

取表单字段值时,用下面的方式:

SmartUpload su = new SmartUpload(); //新建一个SmartUpload对象 
su.getRequest().getParameterValues(String name); //取数组值  
su.getRequest().getParameter(String name); //取单个参数单个值

注:在使用SmartUpload时需要添加相应的jar包

String softname=su.getRequest().getParameter("softname");

注意:一定要在su.upload();,之后使用,才可以获得值!!

<span style="font-size:14px;">public void doPost(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 
      SmartUpload mySmartUpload = new SmartUpload(); 
      try{ 
        // Initialization 
        mySmartUpload.initialize(config,request,response); 
        mySmartUpload.setMaxFileSize(10*1024*1024);//限制上传文件的大小 
        //mySmartUpload.setAllowedFilesList("txt,html,jpg,js");//设置允许上传的文件类型 
        mySmartUpload.setDeniedFilesList("exe,doc");//设置禁止上传的文件列表 
        mySmartUpload.upload(); 
        String hString = mySmartUpload.getRequest().getParameter("name1"); 
        //System.out.println(hString); 
        //System.out.println(mySmartUpload.getFiles().getCount()); 
        for(int i = 0 ;i <mySmartUpload.getFiles().getCount();i++){//多个文件的上传 
          File file = mySmartUpload.getFiles().getFile(i); 
          if(file.getSize()!=0){ 
            //拼凑上传文件的新名称 
            String fileNameString = System.currentTimeMillis()+"."+file.getFileExt(); 
            //通过servlet的实际路径拼凑上传文件的保存路径,实际使用需要修改此路径 
            String path = "/upload123123"+java.io.File.separator+fileNameString; 
            file.saveAs(path); 
          } 
          Thread.sleep(100); 
          /*下载文件的语句 
          mySmartUpload.downloadFile("/路径"+"文件名称");*/ 
        } 
      }catch(Exception e){ 
        e.printStackTrace(); 
      } 
  }</span>
Javascript 相关文章推荐
javascript编程起步(第一课)
Jan 10 Javascript
js 图片缩放(按比例)控制代码
May 27 Javascript
javascript动态向网页中添加表格实现代码
Feb 19 Javascript
node.js中的fs.fstat方法使用说明
Dec 15 Javascript
js实现透明度渐变效果的方法
Apr 10 Javascript
jQuery查看选中对象HTML代码的方法
Jun 17 Javascript
jQuery实现查找最近父节点的方法
Jun 23 Javascript
浅谈bootstrap使用中的一些问题以及解决过程
Oct 18 Javascript
bootstrapValidator 重新启用提交按钮的方法
Feb 20 Javascript
纯js实现动态时间显示
Sep 07 Javascript
微信小程序与后台PHP交互的方法实例分析
Dec 10 Javascript
基于Layui自定义模块的使用方法详解
Sep 14 Javascript
Javascript中call,apply,bind方法的详解与总结
Dec 12 #Javascript
微信小程序开发之圆形菜单 仿建行圆形菜单实例
Dec 12 #Javascript
深入理解javascript中concat方法
Dec 12 #Javascript
js仿微信语音播放实现思路
Dec 12 #Javascript
解析JavaScript数组方法reduce
Dec 12 #Javascript
实例分析浏览器中“JavaScript解析器”的工作原理
Dec 12 #Javascript
JS双击变input框批量修改内容
Dec 12 #Javascript
You might like
PHP编程获取图片的主色调的方法【基于Imagick扩展】
2017/08/02 PHP
javascript之ESC(第二类混淆)
2007/05/06 Javascript
通过action传过来的值在option获取进行验证的方法
2013/11/14 Javascript
js实现文字跟随鼠标移动而移动的方法
2015/02/28 Javascript
JavaScript弹出新窗口后向父窗口输出内容的方法
2015/04/06 Javascript
BootStrap Validator对于隐藏域验证和程序赋值即时验证的问题浅析
2016/12/01 Javascript
jQuery实现滚动效果
2017/11/17 jQuery
Vue filter 过滤当前时间 实现实时更新效果
2019/12/20 Javascript
pycharm 使用心得(七)一些实用功能介绍
2014/06/06 Python
初步探究Python程序的执行原理
2015/04/11 Python
Python for Informatics 第11章之正则表达式(四)
2016/04/21 Python
Django基础之Model操作步骤(介绍)
2017/05/27 Python
Sanic框架基于类的视图用法示例
2018/07/18 Python
python爬虫租房信息在地图上显示的方法
2019/05/13 Python
python tools实现视频的每一帧提取并保存
2020/03/20 Python
在python中利用numpy求解多项式以及多项式拟合的方法
2019/07/03 Python
使用pip安装python库的多种方式
2019/07/31 Python
Python collections中的双向队列deque简单介绍详解
2019/11/04 Python
postman和python mock测试过程图解
2020/02/22 Python
Python图像处理二值化方法实例汇总
2020/07/24 Python
python 中的9个实用技巧,助你提高开发效率
2020/08/30 Python
PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步骤详解
2020/11/02 Python
pyspark对Mysql数据库进行读写的实现
2020/12/30 Python
一款纯css3实现的响应式导航
2014/10/31 HTML / CSS
使用Html5、CSS实现文字阴影效果
2018/01/17 HTML / CSS
MCM英国官网:奢侈皮具制品
2017/04/18 全球购物
英国第一摩托车和摩托车越野配件商店:GhostBikes
2019/03/10 全球购物
请问如下代码执行后a和b的值分别是什么
2016/05/05 面试题
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的
2015/07/24 面试题
外贸销售员求职的自我评价
2013/11/23 职场文书
给学校的建议书
2014/03/12 职场文书
2015年入党积极分子评语
2015/03/26 职场文书
培训班开班主持词
2015/07/02 职场文书
CSS3 制作的图片滚动效果
2021/04/14 HTML / CSS
再也不用花钱买漫画!Python爬取某漫画的脚本及源码
2021/06/09 Python
postgresql之greenplum字符串去重拼接方式
2023/05/08 PostgreSQL