您的位置:首页 > 其它

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

2017-06-26 14:18 337 查看
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 上传文件会比平时上传耗费更多的时间 , 不推荐使用 .
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  servlet