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);
    ......
Trần Phú viết 10:46 ngày 01/10/2018

Chào em, e sử dụng MAX_FILE_SIZE nhé,sau đó dùng getSize() để kiểm tra em nhé!

Hidan viết 10:46 ngày 01/10/2018

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ên

còn upload.setSizeMax(maxRequestSize); là set kích thước file tối đa được upload lên

sao 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 ạ ?

Trần Phú viết 10:44 ngày 01/10/2018

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ỉ ^^

Hidan viết 10:34 ngày 01/10/2018

vâng đúng rồi a
nhưng cái kia vẫn khó hiểu … :((

Trần Phú viết 10:42 ngày 01/10/2018

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.

Bài liên quan
0