2016-09-10 77 views
0

我需要使用html type='file'上传一个客户端到服务器的图片,这很好,到目前为止我可以从客户端发送文件并接收到我的servlet,但现在我需要限制我的servlet中的图像大小高达2MB,如果大于2MB,我需要向客户端发送有关图像大小的错误信息。如何在java servlet中限制上传的文件大小

这里我的servlet代码,我收到发送图像:

public void doPost(HttpServletRequest request, 
     HttpServletResponse response) 
     throws ServletException, IOException { 
    response.setContentType("text/html"); 
    PrintWriter out = response.getWriter(); 

    MultipartRequest multipartRequest = new MultipartRequest(request, "D:\\"); 
    out.print("Successfully Uploaded"); 
} 

到目前为止,它的作用是接收图像,并将其保存在D:目录,我不想先保存图像,然后检查图像大小,但要说MultipartRequest,如果你收到高于2MB的数据发送一个错误。

感谢提前:)

+0

检查客户端中的文件大小是否更合乎逻辑?您可以保存失败的http请求 – svarog

+3

否,因为客户端脚本可能会更改,并且可能会使服务器容易受到攻击 – darees

回答

0

创建MultipartRequest实例时,您可以限制上传文件的大小。

  • MultipartRequest(javax.servlet.http.HttpServletRequest request, java.lang.String saveDirectory)

构造一个新的MultipartRequest处理指定的请求,保存任何文件上传到指定目录,并限制上传大小为1兆字节。

  • MultipartRequest(javax.servlet.http.HttpServletRequest request, java.lang.String saveDirectory, int maxPostSize)

构造一个新的MultipartRequest处理指定的请求,保存任何文件上传到指定目录,并限制上传大小设置为指定的长度。

相关问题