我需要使用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发送错误。
提前致谢:)
答案 0 :(得分:0)
由于您尚未指定什么是“MultipartRequest”类,我假设您使用的是oreilly包。
它有一个public MultipartRequest(HttpServletRequest request, String saveDirectory, int maxPostSize) throws IOException构造函数,它接受最大文件大小参数。
如果上传的文件大小超过maxPostSize,则会抛出IOException。您可能会捕获此异常并返回错误响应。
答案 1 :(得分: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来处理指定的请求,将任何上传的文件保存到给定的目录,并将上传大小限制为指定的长度。
答案 2 :(得分:-2)
将其用于html文件并立即尝试
<input type = "file" name = "file" size = "50" />
并使用尺寸标签