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中各种数据的类型方法之typeof与0bject.prototype.toString讲解
Nov 07 Javascript
javascript实现table表格隔行变色的方法
May 13 Javascript
JS+CSS实现的经典tab选项卡效果代码
Sep 16 Javascript
JavaScript必知必会(二) null 和undefined
Jun 08 Javascript
javascript轮播图算法
Oct 21 Javascript
Node.js数据库操作之连接MySQL数据库(一)
Mar 04 Javascript
微信小程序实现顶部普通选项卡效果(非swiper)
Jun 19 Javascript
JS简单实现数组去重的方法分析
Oct 14 Javascript
微信小程序icon组件使用详解
Jan 31 Javascript
Angular ElementRef简介及其使用
Oct 01 Javascript
JavaScript闭包原理与用法学习笔记
May 29 Javascript
js定时器出现第一次延迟的原因及解决方法
Jan 04 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生成HTML静态页面实例代码
2008/08/31 PHP
PHP获取http请求的头信息实现步骤
2012/12/16 PHP
php获取当月最后一天函数分享
2015/02/02 PHP
thinkPHP框架实现的短信接口验证码功能示例
2018/06/20 PHP
thinkphp 5框架实现登陆,登出及session登陆状态检测功能示例
2019/10/10 PHP
JavaScript toFixed() 方法
2010/04/15 Javascript
Dom 是什么的详细说明
2010/10/25 Javascript
JS中的this变量的使用介绍
2013/10/21 Javascript
JS和JQ的event对象区别分析
2014/11/24 Javascript
express的中间件cookieParser详解
2014/12/04 Javascript
javascript学习笔记之函数定义
2015/06/25 Javascript
Bootstrap页面布局基础知识全面解析
2016/06/13 Javascript
巧用Javascript的逻辑运算符
2016/12/02 Javascript
Easyui Tree获取当前选择节点的所有顶级父节点
2017/02/14 Javascript
JQ中$(window).load和$(document).ready区别与执行顺序
2017/03/01 Javascript
JavaScript仿微信(电话)联系人列表滑动字母索引实例讲解(推荐)
2017/08/16 Javascript
JS调用安卓手机摄像头扫描二维码
2018/10/16 Javascript
JavaScript 判断iPhone X Series机型的方法
2019/01/28 Javascript
ES6 如何改变JS内置行为的代理与反射
2019/02/11 Javascript
原生js添加一个或多个类名的方法分析
2019/07/30 Javascript
vux-scroller实现移动端上拉加载功能过程解析
2019/10/08 Javascript
利用Vue实现简易播放器的完整代码
2020/12/30 Vue.js
[04:23]DOTA2上海特锦赛小组赛第一日 TOP10精彩集锦
2016/02/27 DOTA
python 示例分享---逻辑推理编程解决八皇后
2014/07/20 Python
Pipenv一键搭建python虚拟环境的方法
2018/05/22 Python
pandas.read_csv参数详解(小结)
2019/06/21 Python
python实现提取COCO,VOC数据集中特定的类
2020/03/10 Python
python中的unittest框架实例详解
2021/02/05 Python
美国最大最全的亚洲购物网站:美国亚米网(Yamibuy)
2020/05/05 全球购物
大学生安全责任书
2014/07/25 职场文书
关于诚信的活动方案
2014/08/18 职场文书
学生打架检讨书
2014/10/20 职场文书
2014年部门工作总结
2014/11/12 职场文书
python实现自动清理文件夹旧文件
2021/05/10 Python
pyqt5蒙版遮罩mask,setmask的使用
2021/06/11 Python
【DOTA2】总决赛血虐~ XTREME GAMING vs MAGMA - OGA DOTA PIT 2022 CN
2022/04/02 DOTA