简短的概述
在这篇文章中,我们将使用Servlet3.0以及javax.servlet.MultipartConfigElement,为了激活 Servlet3.0环境和Spring 的Multipart支持,你需要做以下:
1.添加 StandardServletMultipartResolver Bean 在 Spring 配置。这是一个标准实现 MultipartResolver 接口,基于Servlet3.0 javax.servlet.http.Part API。
2. 启用在Servlet3.0环境的多解析(MultiParsing)。要做到这一点,你有多种方案可供选择。
方案A. 对方案性 Servlet 注册设置 javax.servlet.MultipartConfigElement。MultipartConfigElement是 javax.servlet.annotation.MultipartConfig 的注释值(如选择C所述)的简单Java类表示。 这篇文章将特别侧重于这个选择。
方案B. 如果您使用基于XML的配置,可以在web.xml中在servlet配置声明 multipart-configsection 部分,如下图所示:
<servlet> <servlet-name>SpringDispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <multipart-config> <location>/tmp</location> <max-file-size>5242880</max-file-size><!--5MB--> <max-request-size>20971520</max-request-size><!--20MB--> <file-size-threshold>0</file-size-threshold> </multipart-config> </servlet>
方案C. 可以创建一个自定义 Servlet 和 javax.servlet.annotation.MultipartConfig 标注其标注,如下图所示:
@WebServlet(name = "fileUploadServlet", urlPatterns = {"/upload"}) @MultipartConfig(location=/tmp, fileSizeThreshold=0, maxFileSize=5242880, // 5 MB maxRequestSize=20971520) // 20 MB public class FileUploadServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //handle file upload }
话虽这么说,我们将专注于在这个例子中选择。
欢迎光临 临海小憇 (http://czidea.cn/) | Powered by Discuz! X3.3 |