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使用数组编写图片无缝向左滚动
Dec 11 Javascript
Javascript实现带关闭按钮的网页漂浮广告代码
Jan 12 Javascript
JavaScript中的正则表达式简明总结
Apr 04 Javascript
JS截取字符串实例详解
Nov 24 Javascript
关于在Servelet中如何获取当前时间的操作方法
Jun 28 Javascript
jQuery实现的超链接提示效果示例【附demo源码下载】
Sep 09 Javascript
Vue resource中的GET与POST请求的实例代码
Jul 21 Javascript
实时监控input框,实现输入框与下拉框联动的实例
Jan 23 Javascript
vue 实现复制内容到粘贴板clipboard的方法
Mar 17 Javascript
对angularJs中$sce服务安全显示html文本的实例
Sep 30 Javascript
Javascript 类型转换、封闭函数及常见内置对象操作示例
Nov 15 Javascript
vue-element-admin项目导入和导出的实现
May 21 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
PHP 日期时间函数的高级应用技巧
2009/10/10 PHP
ThinkPHP调用common/common.php函数提示错误function undefined的解决方法
2014/08/25 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
2019/12/01 PHP
一段利用WSH修改和查看IP配置的代码
2008/05/11 Javascript
XHTML下,JS浮动代码失效的问题
2009/11/12 Javascript
ExtJS下书写动态生成的xml(兼容火狐)
2013/04/02 Javascript
asp.net刷新本页面的六种方法总结
2014/01/07 Javascript
Javascript定义类(class)的三种方法详解
2015/03/13 Javascript
javascript属性访问表达式用法分析
2015/04/25 Javascript
JavaScript中的条件判断语句使用详解
2015/06/03 Javascript
js实现选中复选框文字变色的方法
2015/08/14 Javascript
AngularJS中的Promise详细介绍及实例代码
2016/12/13 Javascript
jQuery实现字体颜色渐变效果的方法
2017/03/29 jQuery
详解angular部署到iis出现404解决方案
2018/08/14 Javascript
解决JS表单验证只有第一个IF起作用的问题
2018/12/04 Javascript
微信小程序图片右边加两行文字的代码
2020/04/23 Javascript
[05:04]完美世界携手游戏风云打造 卡尔工作室地图界面篇
2013/04/23 DOTA
Python文件去除注释的方法
2015/05/25 Python
Python基于PyGraphics包实现图片截取功能的方法
2017/12/21 Python
Python使用统计函数绘制简单图形实例代码
2019/05/15 Python
VPS CENTOS 上配置python,mysql,nginx,uwsgi,django的方法详解
2019/07/01 Python
Python Web版语音合成实例详解
2019/07/16 Python
python多进程重复加载的解决方式
2019/12/13 Python
python 将dicom图片转换成jpg图片的实例
2020/01/13 Python
Python判断远程服务器上Excel文件是否被人打开的方法
2020/07/13 Python
香港卓悦化妆品官网:BONJOUR
2017/09/21 全球购物
澳大利亚电商Catch新西兰站:Catch.co.nz
2020/05/30 全球购物
Java中实现多态的机制是什么?
2014/12/07 面试题
异常和异常类的概念
2014/09/12 面试题
应用数学专业求职信
2014/03/14 职场文书
应届毕业生求职简历自我评价
2015/03/02 职场文书
2016国培研修心得体会
2016/01/08 职场文书
《怀念母亲》教学反思
2016/02/19 职场文书
2019关于实习生工作安排及待遇的管理方案!
2019/07/16 职场文书
导游词之镇江西津古渡
2019/11/06 职场文书
手把手带你彻底卸载MySQL数据库
2022/06/14 MySQL