Java Servlet多部分配置可以';不要上传更大的文件
我正在使用Java Servlet多部分配置可以';不要上传更大的文件,java,servlets,Java,Servlets,我正在使用@MultipartConfig将文件上载到数据库,但它只适用于小于5 MB的小文件。如何改进代码以处理较大的文件 @WebServlet(name = "Upload", urlPatterns = {"/upload"}) @MultipartConfig(maxFileSize = 16177215) public class Upload extends HttpServlet { protected void doPost(HttpServletRequest req
@MultipartConfig
将文件上载到数据库,但它只适用于小于5 MB的小文件。如何改进代码以处理较大的文件
@WebServlet(name = "Upload", urlPatterns = {"/upload"})
@MultipartConfig(maxFileSize = 16177215)
public class Upload extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
InputStream in = null;
Part filePart = request.getPart("pdffile");
if (filePart != null) {
in = filePart.getInputStream();
}
Connection con = (Connection) getServletContext().getAttribute("Connection");
String sql = "INSERT INTO storepdf (pdffile) VALUES (?)";
try (PreparedStatement stat = con.prepareStatement(sql)) {
if (in != null) {
stat.setBlob(1, in);
}
int i = stat.executeUpdate();
request.setAttribute("res", i);
} catch (SQLException e) {
}
request.getRequestDispatcher("finish.jsp").forward(request, response);
}
}
确保服务器允许您让用户上传更多内容。例如,tomcat配置了限制上传大小(
server.xml
中的maxPostSize
),默认情况下它被限制为2MB
不仅如此,如果上传时间过长,读/写超时还可能关闭连接!(例如,低带宽)
您可以打印您捕获的异常,以了解服务器中是否存在任何问题
(p.s您SQL的方式,太可怕了,数据源池?我正在使用contextlistener使用数据库连接初始化我的应用程序,并将连接对象设置为上下文属性。