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 相关文章推荐
jQuery Tools Dateinput使用介绍
Jul 14 Javascript
jQuery中eq()方法用法实例
Jan 05 Javascript
jQuery中$.click()无效问题分析
Jan 29 Javascript
jQuery.form插件的使用及跨域异步上传文件
Apr 27 Javascript
jQuery 局部div刷新和全局刷新方法总结
Oct 05 Javascript
JavaScript中boolean类型之三种情景实例代码
Nov 21 Javascript
js实现显示手机号码效果
Mar 09 Javascript
JS设计模式之命令模式概念与用法分析
Feb 06 Javascript
vue中的watch监听数据变化及watch中各属性的详解
Sep 11 Javascript
详解mpvue中使用vant时需要注意的onChange事件的坑
May 16 Javascript
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
Jun 06 jQuery
vue实现滑动解锁功能
Mar 03 Vue.js
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
WordPress中缩略图的使用以及相关技巧
2015/11/24 PHP
浅析Yii2缓存的使用
2016/05/10 PHP
mac系统下为 php 添加 pcntl 扩展
2016/08/28 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
2017/12/26 PHP
javascript 常用代码技巧大收集
2009/02/25 Javascript
JS操作Cookies包括(读取添加与删除)
2012/12/26 Javascript
使用CSS3的scale实现网页整体缩放
2014/03/18 Javascript
jQuery获取页面及个元素高度、宽度的总结——超实用
2015/07/28 Javascript
实例代码详解javascript实现窗口抖动及qq窗口抖动
2016/01/04 Javascript
jQuery+ajax实现实用的点赞插件代码
2016/07/06 Javascript
JS函数修改html的元素内容,及修改属性内容的方法
2016/10/28 Javascript
jquery实现图片列表鼠标移入微动
2016/12/01 Javascript
JS实现静态页面搜索并高亮显示功能完整示例
2017/09/19 Javascript
微信小程序 配置顶部导航条标题颜色的实现方法
2017/09/20 Javascript
NodeJs实现定时任务的示例代码
2017/12/05 NodeJs
vue awesome swiper异步加载数据出现的bug问题
2018/07/03 Javascript
Element-ui tree组件自定义节点使用方法代码详解
2018/09/17 Javascript
浅谈Vue.js之初始化el以及数据的绑定说明
2019/11/14 Javascript
Javascript Web Worker使用过程解析
2020/03/16 Javascript
详解JavaScript 作用域
2020/07/14 Javascript
原生JavaScript实现购物车
2021/01/10 Javascript
[01:39](回顾)各路豪强针锋相对,几经鏖战四强产生
2014/07/01 DOTA
Python用 KNN 进行验证码识别的实现方法
2018/02/06 Python
Python3.5.3下配置opencv3.2.0的操作方法
2018/04/02 Python
opencv python在视屏上截图功能的实现
2020/03/05 Python
css3与html5实现响应式导航菜单(导航栏)效果分享
2014/02/12 HTML / CSS
植物选择:Botanic Choice
2017/02/15 全球购物
酒店led欢迎词
2014/01/09 职场文书
代办委托书怎样写
2014/04/08 职场文书
招标承诺书
2014/08/30 职场文书
乌镇导游词
2015/02/02 职场文书
汽车4S店前台接待岗位职责
2015/04/03 职场文书
php 获取音视频时长,PHP 利用getid3 获取音频文件时长等数据
2021/04/01 PHP
微信小程序实现录音Record功能
2021/05/09 Javascript
oracle索引总结
2021/09/25 Oracle
vue配置型表格基于el-table拓展之table-plus组件
2022/04/12 Vue.js