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 相关文章推荐
服务器端的JavaScript脚本 Node.js 使用入门
Mar 07 Javascript
动态加载dtree.js树treeview(示例代码)
Dec 17 Javascript
浅谈JavaScript中的string拥有方法的原因
Aug 28 Javascript
基于Jquery代码实现支持PC端手机端幻灯片代码
Nov 17 Javascript
微信小程序 标签传入数据
May 08 Javascript
Vue项目全局配置页面缓存之按需读取缓存的实现详解
Aug 01 Javascript
Vue.set() this.$set()引发的视图更新思考及注意事项
Aug 30 Javascript
微信小程序结合Storage实现搜索历史效果
May 18 Javascript
搭建一个Koa后端项目脚手架的方法步骤
May 30 Javascript
layui树形菜单动态遍历的例子
Sep 23 Javascript
vue3.0 上手体验
Sep 21 Javascript
微信小程序反编译的实现
Dec 10 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读取RSS feed的代码
2008/08/01 PHP
php显示指定目录下子目录的方法
2015/03/20 PHP
PHP chunk_split()函数讲解
2019/02/12 PHP
JS延迟加载加快页面打开速度示例代码
2013/12/30 Javascript
angularjs基础教程
2014/12/25 Javascript
JS打字效果的动态菜单代码分享
2015/08/21 Javascript
JavaScript之underscore_动力节点Java学院整理
2017/07/03 Javascript
浅谈Vue.js 组件中的v-on绑定自定义事件理解
2017/11/17 Javascript
浅析从vue源码看观察者模式
2018/01/29 Javascript
vue ssr 指南详读
2018/06/29 Javascript
vue通过滚动行为实现从列表到详情,返回列表原位置的方法
2018/08/31 Javascript
微信小程序通过websocket实时语音识别的实现代码
2020/08/19 Javascript
Python网络编程中urllib2模块的用法总结
2016/07/12 Python
python好玩的项目—色情图片识别代码分享
2017/11/07 Python
Python的地形三维可视化Matplotlib和gdal使用实例
2017/12/09 Python
python实现二维插值的三维显示
2018/12/17 Python
Python实现简单层次聚类算法以及可视化
2019/03/18 Python
Python流程控制 while循环实现解析
2019/09/02 Python
Python和Sublime整合过程图示
2019/12/25 Python
关于jupyter打开之后不能直接跳转到浏览器的解决方式
2020/04/13 Python
python字典key不能是可以是啥类型
2020/08/04 Python
Python如何进行时间处理
2020/08/06 Python
html5的canvas元素使用方法介绍(画矩形、画折线、圆形)
2014/04/14 HTML / CSS
国际礼品店:GiftsnIdeas
2018/05/03 全球购物
Jacadi Paris英国官网:法国童装品牌
2019/08/09 全球购物
社区中秋节活动方案
2014/01/29 职场文书
总经理任命书范本
2014/06/05 职场文书
2014年维稳工作总结
2014/11/18 职场文书
初三学生语文考试作弊检讨书
2014/12/14 职场文书
廉洁自律个人总结
2015/02/14 职场文书
史上最全的军训拉歌口号
2015/12/25 职场文书
公司与个人合作协议书
2016/03/19 职场文书
2016年基层党组织公开承诺书
2016/03/25 职场文书
css实现文章分割线样式的多种方法总结
2021/04/21 HTML / CSS
只用Python就可以制作的简单词云
2021/06/07 Python
redis击穿 雪崩 穿透超详细解决方案梳理
2022/03/17 Redis