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代码实例
Jun 15 Javascript
javascript 数组排序函数sort和reverse使用介绍
Nov 21 Javascript
jquery实现页面百叶窗走马灯式翻滚显示效果的方法
Mar 12 Javascript
AngularJS入门教程之AngularJS指令
Apr 18 Javascript
Bootstrap3学习笔记(三)之表格
May 20 Javascript
jQuery自适应轮播图插件Swiper用法示例
Aug 24 Javascript
ECMAScript6--解构
Mar 30 Javascript
layer关闭弹出窗口触发表单提交问题的处理方法
Sep 25 Javascript
node省市区三级数据性能测评实例分析
Nov 06 Javascript
JavaScript如何判断input数据类型
Feb 06 Javascript
JavaScript中的各种宽高属性的实现
May 08 Javascript
Element Breadcrumb 面包屑的使用方法
Jul 26 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
关于file_get_contents返回为空或函数不可用的解决方案
2013/06/24 PHP
浅谈PHP的排列组合(如输入a,b,c 输出他们的全部组合)
2017/03/14 PHP
php实现的后台表格分页功能示例
2017/10/23 PHP
Thinkphp5行为使用方法汇总
2017/12/21 PHP
PHP执行系统命令函数实例讲解
2021/03/03 PHP
jQuery 位置插件
2008/12/25 Javascript
javascript 打开页面window.location和window.open的区别
2010/03/17 Javascript
JavaScript中函数声明优先于变量声明的实例分析
2012/03/01 Javascript
常用的JavaScript验证正则表达式汇总
2013/11/26 Javascript
推荐 21 款优秀的高性能 Node.js 开发框架
2014/08/18 Javascript
JS实现的幻灯片切换显示效果
2016/09/07 Javascript
基于Nodejs利用socket.io实现多人聊天室
2017/02/22 NodeJs
nodejs利用ajax实现网页无刷新上传图片实例代码
2017/06/06 NodeJs
vue3.0 CLI - 2.6 - 组件的复用入门教程
2018/09/14 Javascript
Vue.js 事件修饰符的使用教程
2018/11/01 Javascript
详解JS取出两个数组中的不同或相同元素
2019/03/20 Javascript
基于ajax及jQuery实现局部刷新过程解析
2020/09/12 jQuery
JavaScript多种图形实现代码实例
2020/06/28 Javascript
[01:07]2015国际邀请赛 中国区预选赛精彩回顾
2015/06/15 DOTA
解读Python中degrees()方法的使用
2015/05/18 Python
探究Python中isalnum()方法的使用
2015/05/18 Python
Python实现统计给定列表中指定数字出现次数的方法
2018/04/11 Python
Python读取txt文件数据的方法(用于接口自动化参数化数据)
2018/06/27 Python
Django重置migrations文件的方法步骤
2019/05/01 Python
带你彻底搞懂python操作mysql数据库(cursor游标讲解)
2020/01/06 Python
Python输出指定字符串的方法
2020/02/06 Python
python圣诞树编写实例详解
2020/02/13 Python
python em算法的实现
2020/10/03 Python
Django Auth用户认证组件实现代码
2020/10/13 Python
玩具反斗城西班牙网上商城:ToysRUs西班牙
2017/01/19 全球购物
木工主管岗位职责
2013/12/08 职场文书
中学教师自我鉴定
2014/02/07 职场文书
2015年领导班子工作总结
2015/05/23 职场文书
MySQL Server层四个日志的实现
2022/03/31 MySQL
Oracle中日期的使用方法实例
2022/07/07 Oracle
win10重装系统后上不了网怎么办 win10重装系统网络故障的解决办法
2022/07/23 数码科技