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 相关文章推荐
优秀js开源框架-jQuery使用手册(1)
Mar 10 Javascript
JQuery 获得绝对,相对位置的坐标方法
Feb 09 Javascript
EasyUI实现第二层弹出框的方法
Mar 01 Javascript
手机端图片缩放旋转全屏查看PhotoSwipe.js插件实现
Aug 25 Javascript
浅谈jQuery效果函数
Sep 16 Javascript
jQuery实现文字自动横移
Jan 08 Javascript
Angular.js去除页面中显示的空行方法示例
Mar 30 Javascript
从零开始学习Node.js系列教程四:多页面实现的数学运算示例
Apr 13 Javascript
layui实现文件或图片上传记录
Aug 28 Javascript
关于vue v-for 循环问题(一行显示四个,每一行的最右边那个计算属性)
Sep 04 Javascript
layui table去掉右侧滑动条的实现方法
Sep 05 Javascript
解决vue中el-tab-pane切换的问题
Jul 19 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使用Jpgraph创建折线图效果示例
2017/02/15 PHP
模拟用户操作Input元素,不会触发相应事件
2007/05/11 Javascript
js操作textarea方法集合封装(兼容IE,firefox)
2011/02/22 Javascript
根据邮箱的域名跳转到相应的登录页面的代码
2012/02/27 Javascript
js获取元素到文档区域document的(横向、纵向)坐标的两种方法
2013/05/17 Javascript
jquery实现手机号码选号的方法
2015/07/31 Javascript
JS实现选择TextArea内文本的方法
2015/08/03 Javascript
将鼠标焦点定位到文本框最后(代码分享)
2017/01/11 Javascript
js放大镜放大购物图片效果
2017/01/18 Javascript
Redux 和 Mobx的选择问题:让你不再困惑!
2017/09/18 Javascript
基于vue.js无缝滚动效果
2018/01/25 Javascript
angular中如何绑定iframe中src的方法
2019/02/01 Javascript
记录vue做微信自定义分享的一些问题
2019/09/12 Javascript
在weex中愉快的使用scss的方法步骤
2020/01/02 Javascript
解决vuecli3中img src 的引入问题
2020/08/04 Javascript
[07:48]DOTA2上海特级锦标赛主赛事首日RECAP
2016/03/04 DOTA
Python 多线程的实例详解
2017/09/07 Python
tensorflow 1.0用CNN进行图像分类
2018/04/15 Python
python爬虫_实现校园网自动重连脚本的教程
2018/04/22 Python
Python 创建空的list,以及append用法讲解
2018/05/04 Python
python整小时 整天时间戳获取算法示例
2019/02/20 Python
PyQt5实现简易计算器
2020/05/30 Python
python读取csv文件指定行的2种方法详解
2020/02/13 Python
python输出第n个默尼森数的实现示例
2020/03/08 Python
Python threading.local代码实例及原理解析
2020/03/16 Python
世界领先的电子书网站:eBooks.com(在线购买小说、非小说和教科书)
2019/03/30 全球购物
KIKO MILANO俄罗斯官网:意大利领先的化妆品和护肤品品牌
2021/01/09 全球购物
xxx同志考察材料
2014/02/07 职场文书
青蓝工程实施方案
2014/03/27 职场文书
施工安全责任书范本
2014/07/24 职场文书
大型主题婚礼活动策划方案
2014/09/15 职场文书
雨花台导游词
2015/02/06 职场文书
病假证明模板
2015/06/19 职场文书
left join、inner join、right join的区别
2021/04/05 MySQL
浅谈redis缓存在项目中的使用
2021/05/20 Redis
Python采集壁纸并实现炫轮播
2022/04/30 Python