Servlet 知识点(三) -- Servlet 的文件上传功能导致后台取值失败

来源:互联网 发布:ember.js pdf 编辑:程序博客网 时间:2024/05/19 18:17

Servlet 和其他基于 Servlet 框架的文件上传机制有些不同 , Servlet 只能接收 enctype为缺省的 application/x-www-form-urlencoded 类型的数据 , 而现在上传文件都是通过二进制流的方式 ,将 enctype 改为了 enctype=”multipart/form-data” .
所以 request.getParameter(“name”); 是取不到表单传过来的值的 . 对于这个问题 , servlet 给我们提供了一个不是那么优秀的解决方案 – 使用 smartUpload 上传文件
smartUpload 下载地址:
http://download.csdn.net/detail/jacxuan/9880854

SmartUpload su = new SmartUpload();        su.initialize(this.getServletConfig(), request, response);        // 上传限制        su.setMaxFileSize(1024 * 1024 * 10); // 设置大小10MB        su.upload();            //保存到指定路径            su.save("D:\\");            //获取消息媒体名称            filePath=su.getFiles().getFile(0).getFileName();          //取值方式        String sendOption = su.getRequest().getParameter("sendOption");        String chooseStyle = su.getRequest().getParameter("chooseStyle");        String content=su.getRequest().getParameter("content");

使用 smartUpload 上传文件会比平时上传耗费更多的时间 , 不推荐使用 .

原创粉丝点击