免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4450 | 回复: 10
打印 上一主题 下一主题

servlet接受上传文件的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-03-02 16:15 |只看该作者 |倒序浏览
想用Servlet实现上传文件的功能,结果碰到麻烦

当表单form的enctype指定为multipart/form-data的时候,request的getAttribute()方法不仅接受不到上传的文件,并且也getParameter()方法和它一样都接受不到任何参数.这可咋整阿?

想自己实现一个而不是用org.apache.commons.fileupload.DiskFileUpload
哪位大侠给提点想法?对enctype不太了解,应该是这里出的问题吧

论坛徽章:
0
2 [报告]
发表于 2006-03-02 16:43 |只看该作者
尝试继承GenericServlet也不行

论坛徽章:
0
3 [报告]
发表于 2006-03-02 17:30 |只看该作者
content-type设置成了form-data,request的相应方法确实失效了,因为servlet规范中定义的request对象无法解析这种类型的content(可能是这种type后出现的,依稀记得~),可以自己去解析浏览器发送过来的基于Http协议的content,但是,没有必要,纯练习的话可以试一下,可以参考http协议关于form-data的信息封装格式

论坛徽章:
0
4 [报告]
发表于 2006-03-02 17:34 |只看该作者
jakarda的common项目都很经典实用,最熟悉的logging,BeanUtils,Collections等等,很多开源项目都在使用它们的基本库

论坛徽章:
0
5 [报告]
发表于 2006-03-02 17:43 |只看该作者
request.getInputStream();

论坛徽章:
0
6 [报告]
发表于 2006-03-02 17:54 |只看该作者
给你一个源码,自己研究一下吧。
思路是对的,以前做的,现在忘了行不行,你自己再调试一下。

MyFileUpload.rar

2.19 KB, 下载次数: 166

论坛徽章:
0
7 [报告]
发表于 2006-03-02 18:08 |只看该作者
原帖由 wolfg 于 2006-3-2 18:43 发表
request.getInputStream();


肯定是解析这个了,,。


原帖由 zw_ren 于 2006-3-2 18:54 发表
给你一个源码,自己研究一下吧。
思路是对的,以前做的,现在忘了行不行,你自己再调试一下。


最近被流搞得头大,这个字节级别的解析,,,

借高度和人气,顺便发个广告,就在这个帖子下面的,郁闷中

http://bbs.chinaunix.net/viewthr ... &extra=page%3D1

论坛徽章:
0
8 [报告]
发表于 2006-03-02 19:29 |只看该作者
jakarda的common项目里面的文件上传也是将分析字节组的操作封装起来的,
使你用起来更方便。你不想用它的,那你就自己写一个呗。

论坛徽章:
0
9 [报告]
发表于 2006-03-02 21:19 |只看该作者
纯练习,不是不用人家东西。只是想自己练练不为实用的,一开始没想到这种contenttype这么复杂,因为之前碰到的想到的想自己实现的东西都比较简单。各位一说如此复杂我研究下5楼老兄的代码吧。多谢各位

论坛徽章:
0
10 [报告]
发表于 2006-03-02 23:50 |只看该作者
还有个问题,request不能接受multipart/form-data类型contenttype是tomcat提供的request的问题还是servlet的规范所有的容器都这样?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP