Ris*_*isu 5 java servlets servlet-3.0 servlet-filters
我正在尝试使用Java Servlet 3.0上传文件。
@WebServlet("/uploadFile")
@MultipartConfig(fileSizeThreshold=1024*1024*1, // 1 MB
maxFileSize=1024*1024*10, // 10 MB
maxRequestSize=1024*1024*100) // 100 MB
public class FileUploadServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
String serverUploadDir = getServerUploadDir(req);
Part file;
try {
file = req.getPart("fileName");
file.write(serverUploadDir + File.separator + file.getSubmittedFileName());
res.sendRedirect("viewDirectory?msg=File Uploaded.");
}
catch (IllegalStateException ex) {
System.out.println(ex.getMessage());
}
}
public String getServerUploadDir(HttpServletRequest req) {
return req.getParameter("serverUploadDir");
}
}
Run Code Online (Sandbox Code Playgroud)
当文件maxFileSize位于@MultipartConfig批注中声明的位置时,它可以正常工作。但是,当它们超过该大小时,我得到一个IllegalStateException,并且我的浏览器显示Connection已重置。即使我尝试将请求转发到捕获中的其他页面,也无法正常工作。
我知道使用Spring框架,我可以创建一个filterMultipartResolver,当maxUploadSize超过时可以处理。有没有一种方法可以创建一个常规的Java Servlet过滤器来做同样的事情?
| 归档时间: |
|
| 查看次数: |
145 次 |
| 最近记录: |