RSSAsp.net

Làm thế nào để upload một file có dung lượng lớn trong Asp.net

Thông thường, khi lập trình web bằng asp.net, để upload một file ta sử dụng control FileUpload của .Net, nhưng đó chỉ là những file có dung lượng nhỏ. Với file có dung lượng lớn thì sao? Liệu vẫn có thể sử dụng control này hay không? Câu trả lời là không. Vậy thì làm thế nào để upload một file có dung lượng lớn trong Asp.net? Tất cả sẽ có trong bài viết ngày

Thông thường, khi lập trình web bằng asp.net, để upload một file ta sử dụng control FileUpload của .Net, nhưng đó chỉ là những file có dung lượng nhỏ. Với file có dung lượng lớn thì sao? Liệu vẫn có thể sử dụng control này hay không? Câu trả lời là không. Vậy thì làm thế nào để upload một file có dung lượng lớn trong Asp.net? Tất cả sẽ có trong bài viết ngày hôm nay.

Control FileUpload chỉ cho phép upload ở chế độ mặc định có dung lượng là 4MB. Để cho phép user có thể upload file với dung lượng cao hơn, chúng ta phải thay đổi thẻ trong web.config.
Thẻ có thuộc tính “maxRequestLength” có giá trị dữ liệu là “KiloBytes”. Mặc dù chúng ta có thể thay đổi giá trị executionTimeout để gia tăng thời gian upload, nhưng như thế cũng không thể giúp chúng ta upload một file lớn được.
Thẻ nhìn sẽ như sau:

 

<httpRuntime maxRequestLength="2097152" executionTimeout="9999999" />

Điều này sẽ cho phép chúng ta upload một file có dung lượng lên tới 2GB. Tiếp theo chúng ta thay đổi file Metabase.xml trong ISS với đường dẫn sau

C:\Windows\System32\inetsrv\

Nhưng file này chỉ cho phép ở chế độ đọc, cho nên nếu muốn thay đổi nội dung của nó thì ta làm như sau:

  • Mở IIS manager (Open Run -> đánh ‘inetmgr’ -> Nhấn Enter)
  • Chuột phải vào tên Computer. Click Properties
  • Check vào nút “Enable Direct Metabase Edit”
  • Click Apple, sau đó nhấn OK

Việc làm này chỉ hoạt động ở IIS 6.0, với các phiên bản cao hơn thì Microsoft đã remove nó mất rồi. Vậy sau khi kích hoạt chế độ chỉnh sửa cho file Metabase.xml thì chúng ta sẽ tiến hành chỉnh sửa nó. Nhưng để an toàn, trước hết bạn nên backup nó ra một bản khác để dự phòng. OK, thuộc tính chúng ta cần thay đổi giá trị đó là:

  • AspBufferingLimit
  • AspMaxRequestEntityAllowed

Sau khi hoàn thành, chúng ta sẽ thấy các thông tin sau trong file web.config

  • maxBufferSize
  • maxReceiveMessageSize
  • maxBufferPoolSize
  • maxDepth
  • maxStringContentLength
  • maxArrayLength

Vậy là xong, chúc bạn thành công!

Tags:

Nếu bạn thấy bài viết hữu ích, hãy nhấn +1 và các liên kết chia sẻ để website ngày càng phát triển hơn. Xin cám ơn bạn!

Nếu là khách, bạn phải đăng ký tài khoản và kích hoạt tài khoản để bình luận được hiển thị ở đây.
Thông tin kích hoạt gửi đến mail của bạn.

Tin mới hơn

Tin cũ hơn

Lên trên đầu