01/10/2018, 08:31
Upload file trong jsp/servlet
e xem trên mạng có đoạn code này e ko hiểu : sao cái kích thích vị trí tạm lại bé hơn kích thước tối đa của file tải lên @@ thế thì nó sao chứa dc nhỉ ?!
public static void Uploadsinglefile(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException
{
final String Address = "E:\";
final int maxMemorySize = 1024 * 1024 * 3; // 3MB
final int maxRequestSize = 1024 * 1024 * 50; // 50 MB
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (!isMultipart)
{
request.setAttribute("message", "not have enctypr: multipart/form-data");
}
DiskFileItemFactory factory = new DiskFileItemFactory();
// Set factory constraints
factory.setSizeThreshold(maxMemorySize);
factory.setRepository(new File(System.getProperty("java.io.tmpdir")));
// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload(factory);
// Set overall request size constraint
upload.setSizeMax(maxRequestSize);
......
Bài liên quan
Chào em, e sử dụng MAX_FILE_SIZE nhé,sau đó dùng getSize() để kiểm tra em nhé!
e muốn hỏi đoạn code trên kia mà @@
có phải
factory.setSizeThreshold(maxMemorySize);
là set kích thước chỗ nhớ tạm lưu file tải lêncòn
upload.setSizeMax(maxRequestSize);
là set kích thước file tối đa được upload lênsao cái kích thước của chỗ lưu lại nhỏ hơn kích thước cái file dc lưu ạ ?
Chào em, factory.setSizeThreshold(maxMemorySize); là đặt một ngưỡng bộ nhớ của tập tin thôi em nhé.
upload.setSizeMax(maxRequestSize); // Đặt kích thước tối đa cho phép (bao gồm tập tin + dữ liệu)
=> Cho nên nó nhỏ hơn là đúng rồi.
Có phải em hỏi trên bài viết của blog của anh phải ko nhỉ ^^
vâng đúng rồi a
nhưng cái kia vẫn khó hiểu … :((
factory.setSizeThreshold(maxMemorySize) là e đặt size tối đa chỉ riêng file khi upload .setSizeMax(maxRequestSize) => đặt size tối đa cho cả file và dữ liệu trong form.