如何处理错误"请求不包含multipart / form-data"?

时间:2015-07-10 06:34:05

标签: jquery servlets

我正在开发一个只包含1个servlet的Web应用程序。请求的页面类型是根据请求中发送的get参数确定的。我在尝试将图像上传到服务器时遇到问题。我正在使用jquery发送一个AJAX post请求,其中包含我需要附加到FormData对象的图像文件和其他数据。我已经读过我需要使用HttpServletRequest getParts或getPart方法来提取文件和其他数据。我的问题是,如果我在我的servet类中设置@MultipartConfig注释,我会收到一个错误"请求不包含multipart / form-data..etc"每当我发送请求时,因为只有一个特定页面会将文件上传到服务器,其余的则不会。有没有办法让我在现有的servlet中使用getParts方法,而无需为文件上传创建新的servlet?

提前致谢

1 个答案:

答案 0 :(得分:0)

那是不可能的。

但幸运的是,Java是一种面向对象的语言。它支持组合和继承。通过继承,您可以将现有的非@MultipartConfig servlet扩展为具有@MultipartConfig注释的新类,并将代码放在那里专门处理上载文件,然后调用现有余数的继承方法。

换句话说,只需创建一个新的servlet but reuse code instead of copypasting code