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 相关文章推荐
html中的input标签的checked属性jquery判断代码
Sep 19 Javascript
如何使用jquery控制CSS样式,并且取消Css样式(如背景色,有实例)
Jul 09 Javascript
node.js使用nodemailer发送邮件实例
Mar 10 Javascript
javascript实现日期格式转换
Dec 16 Javascript
使用JQuery实现的分页插件分享
Nov 05 Javascript
JavaScript实现简单获取当前网页网址的方法
Nov 09 Javascript
Bootstrap进度条组件知识详解
May 01 Javascript
jQuery实现表格行和列的动态添加与删除方法【测试可用】
Aug 01 Javascript
详解为Bootstrap Modal添加拖拽的方法
Jan 05 Javascript
node结合swig渲染摸板的方法
Apr 11 Javascript
基于Vue 撸一个指令实现拖拽功能
Oct 09 Javascript
vue中使用echarts的示例
Jan 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
第五节 克隆 [5]
2006/10/09 PHP
php生成SessionID和图片校验码的思路和实现代码
2009/03/10 PHP
Laravel框架使用Seeder实现自动填充数据功能
2018/06/13 PHP
PHP时间戳和日期相互转换操作实例小结
2018/12/18 PHP
PHP回调函数简单用法示例
2019/05/08 PHP
深入理解JavaScript 闭包究竟是什么
2013/04/12 Javascript
JS实现两个大数(整数)相乘
2014/04/28 Javascript
jQuery中关于ScrollableGridPlugin.js(固定表头)插件的使用逐步解析
2014/07/17 Javascript
jquery用ajax方式从后台获取json数据后如何将内容填充到下拉列表
2015/08/26 Javascript
Nodejs全局安装和本地安装的不同之处
2016/07/04 NodeJs
AngularJS学习第一篇 AngularJS基础知识
2017/02/13 Javascript
JavaScript标准对象_动力节点Java学院整理
2017/06/27 Javascript
学习jQuery中的noConflict()用法
2018/09/28 jQuery
详解如何用typescript开发koa2的二三事
2018/11/13 Javascript
JS数组求和的常用方法实例小结
2019/01/07 Javascript
webpack打包优化的几个方法总结
2020/02/10 Javascript
跨平台python异步回调机制实现和使用方法
2013/11/26 Python
Python编程之微信推送模板消息功能示例
2017/08/21 Python
pandas带有重复索引操作方法
2018/06/08 Python
使用Scrapy爬取动态数据
2018/10/21 Python
pytorch使用Variable实现线性回归
2019/05/21 Python
使用Pytorch来拟合函数方式
2020/01/14 Python
opencv+pyQt5实现图片阈值编辑器/寻色块阈值利器
2020/11/13 Python
如何创建一个Flask项目并进行简单配置
2020/11/18 Python
python抢购软件/插件/脚本附完整源码
2021/03/04 Python
css3和jquery实现自定义checkbox和radiobox组件
2014/04/22 HTML / CSS
canvas绘制圆角头像的实现方法
2019/01/17 HTML / CSS
财务主管的岗位职责
2013/12/30 职场文书
合伙经营协议书范本
2014/09/13 职场文书
人民调解协议书范本
2014/10/11 职场文书
2015年全国爱耳日活动总结
2015/02/27 职场文书
鲁滨孙漂流记读书笔记
2015/06/30 职场文书
css实现文章分割线样式的多种方法总结
2021/04/21 HTML / CSS
springboot + mongodb 通过经纬度坐标匹配平面区域的方法
2021/11/01 MongoDB
vue3使用vuedraggable实现拖拽功能
2022/04/06 Vue.js
阿里云服务器(windows)手动部署FTP站点详细教程
2022/08/05 Servers