Servlet从表单上传文件而不使用enctype =“multipart / form-data”

时间:2013-01-19 13:04:12

标签: java html tomcat servlets

是否有可能在不使用multipart / form-data的情况下从html表单上传文件? 我正在使用Servlets 2.5,所以我不能使用getPart方法,我仍然想使用getParameter方法从字段中获取值。

3 个答案:

答案 0 :(得分:1)

使用apache commons fileupload来处理mpe请求,就像其他人一样。

答案 1 :(得分:0)

multipart/form-data编码类型是HTML文件上传机制的基本组成部分 - 请参阅the RFC where it was first standardised,尤其是此section headed "File transfer with ENCTYPE=x-www-form-urlencoded"

虽然现在还有其他上传文件的方法(例如Flash支持小部件支持),但这些方法都不允许您以正常的x-www-form-encoded格式提交部分表单,但也会附加上传的文件。

也许你可以写一个包装器对象,它包装一个支持multipart/form-data的API,并在非​​文件字段的基础上实现你想要的getParameter方法。

答案 2 :(得分:0)

您必须使用enctype表单属性上传文件。

由于您没有使用Servlet 3.0,因此如果您想继续使用request.getParameter()调用从输入字段中获取数据,则必须创建自己的过滤器。您可以找到完整的示例herehere