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 相关文章推荐
google地图的路线实现代码
Aug 20 Javascript
百度移动版的url编码解码示例
Apr 29 Javascript
基于jquery ui的alert,confirm方案(支持换肤)
Apr 03 Javascript
js实现分享到随页面滚动而滑动效果的方法
Apr 10 Javascript
省市联动效果的简单实现代码(推荐)
Jun 06 Javascript
Bootstrap使用基础教程详解
Sep 05 Javascript
让html元素随浏览器的大小自适应垂直居中的实现方法
Oct 12 Javascript
遍历json 对象的属性并且动态添加属性的实现
Dec 02 Javascript
详解Angular-Cli中引用第三方库
May 21 Javascript
WebGL学习教程之Three.js学习笔记(第一篇)
Apr 25 Javascript
JQuery样式与属性设置方法分析
Dec 07 jQuery
JavaScript canvas实现文字时钟
Jan 10 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
攻克CakePHP系列一 连接MySQL数据库
2008/10/22 PHP
php 字符串函数收集
2010/03/29 PHP
php多用户读写文件冲突的解决办法
2013/11/06 PHP
php操作xml入门之cdata区段
2015/01/23 PHP
Swoole 5将移除自动添加Event::wait()特性详解
2019/07/10 PHP
使用jQuery UI的tooltip函数修饰title属性的气泡悬浮框
2013/06/24 Javascript
javascript删除字符串最后一个字符
2014/01/14 Javascript
js跨域问题浅析及解决方法优缺点对比
2014/11/08 Javascript
jQuery多个版本和其他js库冲突的解决方法
2016/08/11 Javascript
js获取Get值的方法
2016/09/29 Javascript
jQuery鼠标事件总结
2016/10/13 Javascript
js实现简易垂直滚动条
2017/02/22 Javascript
vue.js中指令Directives详解
2017/03/20 Javascript
Vue.js 中的 $watch使用方法
2017/05/25 Javascript
jQuery自定义多选下拉框效果
2017/06/19 jQuery
JSON获取属性值方法代码实例
2020/06/30 Javascript
python 写的一个爬虫程序源码
2016/02/28 Python
python编写弹球游戏的实现代码
2018/03/12 Python
python实现图片筛选程序
2018/10/24 Python
对Python中for复合语句的使用示例讲解
2018/11/01 Python
Python 保存矩阵为Excel的实现方法
2019/01/28 Python
对python判断是否回文数的实例详解
2019/02/08 Python
django drf框架中的user验证以及JWT拓展的介绍
2019/08/12 Python
Python如何给函数库增加日志功能
2020/08/04 Python
CSS3选择器新增问题的实现
2021/01/21 HTML / CSS
意大利奢华内衣制造商:Cosabella
2017/08/29 全球购物
构造方法和其他方法的区别?怎么调用父类的构造方法
2013/09/22 面试题
自主招生自荐信格式
2013/12/03 职场文书
会议邀请函范文
2014/01/09 职场文书
党员岗位承诺书
2014/03/25 职场文书
小学教师师德演讲稿
2014/05/06 职场文书
白酒营销策划方案
2014/08/17 职场文书
就业意向书范本
2015/05/11 职场文书
2015法院个人工作总结范文
2015/05/25 职场文书
SQL Server2019数据库之简单子查询的具有方法
2021/04/27 SQL Server
Html5生成验证码的示例代码
2021/05/10 Javascript