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给input和textarea设定ie中的focus
May 29 Javascript
利用jquery的获取JS文件中的字符串内容
Feb 14 Javascript
js实现一个省市区三级联动选择框代码分享
Mar 06 Javascript
jquery分页插件jquery.pagination.js实现无刷新分页
Apr 01 Javascript
js绘制购物车抛物线动画
Nov 18 Javascript
Javascript获取background属性中url的值
Oct 17 Javascript
jQuery树控件zTree使用方法详解(一)
Feb 28 Javascript
vue中配置mint-ui报css错误问题的解决方法
Oct 11 Javascript
javascript实现数字配对游戏的实例讲解
Dec 14 Javascript
Vue.js项目中管理每个页面的头部标签的两种方法
Jun 25 Javascript
js中获取URL参数的共用方法getRequest()方法实例详解
Oct 24 Javascript
前端如何实现动画过渡效果
Feb 05 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中鲜为人知的10个函数
2014/02/28 PHP
php实现获取文章内容第一张图片的方法
2014/11/04 PHP
Zend Framework教程之Zend_Config_Xml用法分析
2016/03/23 PHP
浅析showModalDialog数据缓存问题(用禁止浏览器缓存解决)
2013/07/09 Javascript
jQuery实现用户注册的表单验证示例
2013/08/28 Javascript
javascript:window.open弹出窗口的位置问题
2014/03/18 Javascript
jQuery实现带动画效果的二级下拉导航方法
2015/03/11 Javascript
javascript使用Promise对象实现异步编程
2016/03/01 Javascript
jQuery EasyUI中DataGird动态生成列的方法
2016/04/05 Javascript
用jQuery获取table中行id和td值的实现代码
2016/05/19 Javascript
JSON与String互转的实现方法(Javascript)
2016/09/27 Javascript
12个非常有用的JavaScript技巧
2017/05/17 Javascript
详解vue-router 初始化时做了什么
2018/06/11 Javascript
JavaScript设计模式之构造器模式(生成器模式)定义与用法实例分析
2018/07/26 Javascript
vue实现弹框遮罩点击其他区域弹框关闭及v-if与v-show的区别介绍
2018/09/29 Javascript
vue store之状态管理模式的详细介绍
2019/06/13 Javascript
如何在vue项目中嵌入jsp页面的方法(2种)
2020/02/06 Javascript
vue组件暴露和.js文件暴露接口操作
2020/08/11 Javascript
[01:01:43]EG vs VP 2018国际邀请赛淘汰赛BO3 第二场 8.24
2018/08/25 DOTA
socket + select 完成伪并发操作的实例
2017/08/15 Python
Python 虚拟空间的使用代码详解
2019/06/10 Python
可视化pytorch 模型中不同BN层的running mean曲线实例
2020/06/24 Python
python boto和boto3操作bucket的示例
2020/10/30 Python
scrapy redis配置文件setting参数详解
2020/11/18 Python
美国老牌主机服务商:iPage
2016/07/22 全球购物
购买大码女装:Lane Bryant
2016/09/07 全球购物
马来西亚最热门的在线时尚商店:FashionValet
2018/11/11 全球购物
Antler英国官网:购买安特丽行李箱、拉杆箱
2019/08/25 全球购物
澳大利亚领先的在线礼品网站:Gifts Australia
2020/08/15 全球购物
网上常见的一份Linux面试题(多项选择部分)
2015/02/07 面试题
户籍证明的格式
2014/01/13 职场文书
拯救大兵瑞恩观后感
2015/06/09 职场文书
2015年小学生国庆节演讲稿
2015/07/30 职场文书
感谢师恩主题班会
2015/08/17 职场文书
个人房屋租赁合同(标准范本)
2019/09/16 职场文书
Win10系统下配置Java环境变量
2021/06/13 Java/Android