我需要使用html type='file'
将图像从客户端上传到服务器,工作正常,到目前为止,我可以从客户端发送文件并在我的servlet上接收,但现在我需要将我的servlet中的图像大小限制为2MB,如果它更大超过2MB我需要向客户端发送错误说明图像大小。
这里我收到的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,则发送错误。
提前致谢:)
由于您尚未指定什么是“MultipartRequest”类,我假设您正在使用oreilly包。
它有一个public MultipartRequest(HttpServletRequest request, String saveDirectory, int maxPostSize) throws IOException构造函数,它接受最大文件大小参数。
如果上传的文件大小超过maxPostSize,则会抛出IOException。您可能会捕获此异常并返回错误响应。
您可以在创建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来处理指定的请求,将任何上传的文件保存到给定的目录,并将上载大小限制为指定的长度。
将此用于html文件并立即尝试
<input type = "file" name = "file" size = "50" />
并使用尺寸标签