2012-12-28 32 views
8

Tôi có một ứng dụng web trên máy chủ Tomcat cho phép tải lên các tệp. Có giới hạn về kích thước của tệp tải lên và tôi muốn giới hạn đó được thực thi trước (nghĩa là khi bạn vượt quá giới hạn, tải lên tệp không thành công, thay vì chuyển toàn bộ tệp, kiểm tra xem tệp có quá lớn không và sau đó gửi một lỗi).hiện maxPostSize áp dụng cho việc tải lên tệp nhiều phần/biểu mẫu dữ liệu

Tôi đã cố gắng thực hiện điều này bằng cách thêm maxPostSize="1000" vào phần trình kết nối trong trình kết nối có liên quan trong tệp server.xml, nhưng tôi vẫn có thể tải lên tệp lớn hơn.

Tôi đã xem số post cho biết rằng maxPostSize chỉ hoạt động cho một loại nội dung cụ thể.

Vì vậy, câu hỏi của tôi là liệu những gì tôi đang làm là nghĩa vụ phải làm việc. Giới hạn của tôi không có hiệu lực vì tôi đã cấu hình sai Tommcat, hay vì trường đó không được áp dụng cho loại bài đăng mà tôi đang làm?

Trả lời

8

Có một cuộc thảo luận rất nhiều thông tin về chủ đề này here.

Như tôi đã hiểu, Tomcat chỉ thực thi giới hạn đó nếu loại nội dung là application/x-www-form-urlencoded. Đối với nhiều người, bạn sẽ phải tự mình đọc luồng và tự thi hành giới hạn. Một công cụ tuyệt vời để làm việc với dữ liệu nhiều phần là Apache FileUpload.

Các vấn đề liên quan