CFSDN nhấn mạnh vào việc tạo ra giá trị thông qua mã nguồn mở. Chúng tôi cam kết xây dựng một nền tảng chia sẻ tài nguyên để mọi người làm CNTT có thể tìm thấy thế giới tuyệt vời của riêng mình tại đây.
Bài đăng trên blog CFSDN này giải quyết vấn đề hình ảnh hoặc tệp quá lớn để tải lên trong các dự án .net. Bài đăng được tác giả thu thập và biên soạn. Nếu bạn quan tâm đến bài viết này, hãy nhớ thích nó.
Khi tôi đang làm một dự án gần đây, một người dùng đã yêu cầu tải lên một bức ảnh lớn. Một bức ảnh có thể lớn hơn 10 megabyte. Bộ điều khiển tải lên của bên thứ ba mà tôi đang sử dụng có một thiết lập giới hạn kích thước của bức ảnh được tải lên.
Thiết lập trước đó là 2M. Theo yêu cầu của người dùng, tôi nghĩ mình có thể thay đổi thiết lập để giới hạn kích thước tải lên hình ảnh. Tuy nhiên, khi tải lên hình ảnh lớn.
Luôn luôn bất thường:
Thông báo lỗi: Đã vượt quá độ dài yêu cầu tối đa.
Giải pháp:
Nguyên nhân gây ra lỗi: Kích thước tệp tải lên tối đa mặc định của asp.net là 4M và thời gian chờ chạy là 90 giây.
Sửa đổi cấu hình trong web.config.
?
1
2
3
4
5
|
<
cấu hình
>
<
hệ thống.web
>
<
httpThời gian chạy
sử dụngFullyQualifiedRedirectUrl
=
"ĐÚNG VẬY"
thời gian thực hiện
=
"120"
Chiều dài yêu cầu tối đa
=
"2097151"
/>
hệ thống.web
>
<
cấu hình
>
|
Trong dự án của tôi, sửa đổi này sẽ hoạt động tốt khi tải lên. Giải thích ngắn gọn:
executionTimeout thời gian chờ thực hiện: tính bằng giây.
maxRequestLength: Độ dài tải lên tối đa mà tôi đặt ở trên là giá trị tối đa tính bằng KB.
ps: Dưới đây là cấu hình đầy đủ của httpRuntime và các giải thích liên quan.
?
1
2
3
|
<
httpThời gian chạy
thời gian thực hiện
=
"600"
Chiều dài yêu cầu tối đa
=
"951200"
sử dụngFullyQualifiedRedirectUrl
=
"ĐÚNG VẬY"
minFreeThreads
=
"8"
minLocalRequestFreeThreads
=
"4"
ứng dụngRequestQueueLimit
=
"100"
cho phépVersionHeader
=
"ĐÚNG VẬY"
/>
|
httpRuntime là thiết lập cấu hình thời gian chạy http của ASP.NET để xác định cách xử lý các yêu cầu tới ứng dụng ASP.NET.
executionTimeout: biểu thị thời gian giới hạn tối đa được phép để thực hiện một yêu cầu, tính bằng giây.
maxRequestLength: biểu thị kích thước tải lên tệp tối đa được ASP.NET hỗ trợ. Màn hình này có thể được sử dụng để ngăn chặn các cuộc tấn công từ chối dịch vụ do người dùng chuyển số lượng lớn tệp lên máy chủ. Kích thước được chỉ định bằng KB. Giá trị mặc định là 4096KB.
userFullyQualifiedRedirectUrl: Chỉ ra liệu chuyển hướng của máy khách có đủ điều kiện hay không (theo định dạng "http://server/path", được yêu cầu bởi một số điều khiển di động) hoặc liệu có gửi chuyển hướng tương đối đến máy khách hay không. Nếu đúng, tất cả các chuyển hướng không đủ điều kiện sẽ tự động được chuyển đổi thành dạng đủ điều kiện. false là tùy chọn mặc định.
minFreeThreads: Chỉ định số luồng rảnh tối thiểu được phép thực hiện các yêu cầu mới. ASP.NET sẽ giữ một số luồng nhất định để phòng trường hợp cần thêm luồng để hoàn tất quá trình xử lý yêu cầu. Giá trị mặc định là 8.
minLocalRequestFreeThreads: Chỉ ra số lượng luồng trống tối thiểu mà ASP.NET duy trì để cho phép thực hiện các yêu cầu cục bộ mới. Số luồng này được dành riêng cho các yêu cầu đến từ máy chủ cục bộ để ngăn một số yêu cầu tạo các yêu cầu phụ tới máy chủ cục bộ trong quá trình xử lý. Điều này tránh được tình trạng bế tắc có thể xảy ra do phải nhập lại máy chủ web một cách đệ quy.
enableVersionHeader: Chỉ định xem ASP.NET có nên xuất ra tiêu đề phiên bản hay không. VS2005 sử dụng thuộc tính này để xác định phiên bản ASP.NET hiện tại đang sử dụng. Đối với môi trường sản xuất, thuộc tính này không bắt buộc và có thể bị vô hiệu hóa.
Trên đây là toàn bộ nội dung bài viết này, hy vọng nội dung bài viết này có thể giúp ích cho việc học tập hoặc công việc của bạn, đồng thời cũng hy vọng bạn sẽ ủng hộ tôi! .
Liên kết gốc: http://www.cnblogs.com/huangshuqiang/p/5783797.html#3493524.
Cuối cùng, bài viết này về giải quyết vấn đề hình ảnh hoặc tệp quá lớn để tải lên trong các dự án .net kết thúc tại đây. Nếu bạn muốn biết thêm về cách giải quyết vấn đề hình ảnh hoặc tệp quá lớn để tải lên trong các dự án .net, vui lòng tìm kiếm các bài viết trên CFSDN hoặc tiếp tục duyệt các bài viết liên quan. Tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai! .
Tôi là một lập trình viên xuất sắc, rất giỏi!