2008-12-20 69 views
15

Có nơi nào khác ngoài tệp metabase.xml có kích thước tải lên tệp có thể được sửa đổi không?Tăng giới hạn kích thước tải lên tệp trong iis6

Tôi hiện đang chạy một máy chủ dàn dựng với IIS6 và nó được thiết lập để cho phép tải lên tệp lên tới 20mb. Điều này hoạt động hoàn toàn tốt đẹp. Tôi có một máy chủ sản xuất mới, nơi tôi đang cố thiết lập giới hạn kích thước có sẵn này. Vì vậy, tôi chỉnh sửa các tập tin metabase.xml và đặt nó vào 20971520. Sau đó, tôi khởi động lại IIS và điều đó đã không làm việc. Vì vậy, tôi sau đó khởi động lại toàn bộ máy chủ, điều đó cũng không hoạt động. Tôi có thể tải lên các tệp khoảng 2mb nên nó chắc chắn cho phép kích thước tệp lớn hơn kích thước mặc định 200kb chuẩn. Tôi thử tải lên tệp 5mb và trang upload.aspx của tôi hoàn toàn bị treo. Có thể có cái gì khác tôi cần phải cấu hình? Các máy chủ sản xuất nằm trên một trang trại máy chủ, có thể có một số giới hạn đặt trên có kết thúc?

Cảm ơn

Trả lời

6

Nếu bạn đang sử dụng ASP .NET, sau đó bạn cần phải sửa đổi maxRequestLength tài sản web.config.

Xem this link.

+1

Đúng, kích thước tệp tối đa mặc định là 4MB: http://msdn.microsoft.com/en-us/library/system.web.configuration.httpruntimesection.maxrequestlength.aspx –

+0

Trong máy chủ dàn dựng của tôi, tôi không có những bộ đó. Tuy nhiên, tôi vẫn có thể tải lên các tệp lớn hơn. – JustLogic

+0

Thuộc tính Maxrequestlength dường như hoạt động. Đối với một số lý do tôi không có thiết lập trong máy chủ dàn dựng của tôi và nó vẫn hoạt động. Oh well, Cảm ơn – JustLogic

35

Tôi sẽ mở rộng câu trả lời cho câu hỏi của bạn để xem xét các tình huống có thể xảy ra khác.

Một liên kết rất tốt để tìm hiểu về cách tải lên các tập tin kích thước lớn là một trong những điều này: http://weblogs.asp.net/jgalloway/archive/2008/01/08/large-file-uploads-in-asp-net.aspx

đây Jon Galloway giải thích các kỹ thuật tốt nhất để điều trị các vấn đề:

1.-Thay đổi máy cấu hình hoặc web. config:

<system.web> 
    <httpRuntime executionTimeout="240" maxRequestLength="20480" /> 
</system.web> 

Ở đây bạn không chỉ thay đổi maxRequestLength, nhưng bạn phải dành nhiều giây hơn cho executionTimeout.

Điều thú vị: Hãy xem xét rằng giá trị của cài đặt này bị bỏ qua trong chế độ gỡ lỗi. Mặc định trong .NET Framework 2.0 là 110 giây. Trong .NET Framework 1.0 và 1.1, mặc định là 90 giây.

2.-Nói về các giải pháp thực tế, HttpModules như miễn phí NeatUpload

3.-Giải thích một cách khác để tải lên bằng trực giác hơn: Silverlight hoặc flash swfupload

4.-Ông nói về một hạn chế II7 có. Trong trang này http://www.telerik.com/help/aspnet-ajax/upload_uploadinglargefiles.html bạn có thể tìm thấy các cài đặt thú vị hơn cho IIS 7, để đặt tối đa 100 megas. Bạn thêm:

<system.webServer> 
... 
    <security > 
    <requestFiltering> 
     <requestLimits maxAllowedContentLength="1024000000" /> 
    </requestFiltering> 
    </security> 
</system.webServer> 

Và bạn phải mở file C: \ Windows \ System32 \ inetsrv \ config \ applicationHost.config và tìm dòng:

<section name="requestFiltering" overrideModeDefault="Deny" /> 

thay đổi để:

<section name="requestFiltering" overrideModeDefault="Allow" /> 

Một điều thú vị khác Galloway đề cập: "Trong ASP.NET 1.0 và 1.1, toàn bộ tệp đã được tải vào bộ nhớ trước khi được ghi vào đĩa. Có những cải tiến trong ASP.NET 2.0 để truyền tệp vào đĩa trong quá trình tải lên."

Đối với IIS6 giải pháp Chris mang đến cho tôi nghĩ là thích hợp:

http://www.banmanpro.com/support2/File_Upload_limits.asp

Một nguồn:

http://www.telerik.com/support/kb/aspnet-ajax/upload/page-not-found-error-when-uploading-large-files-on-win2003.aspx


Một URL nơi một người sử dụng đã thử nghiệm rất nhiều thành phần tại đây:

http://remy.supertext.ch/2008/01/file-upload-with-aspnet/

Ông đề cập đến một dự án CodeProject đó là một ví dụ rất tốt của việc sử dụng các tập tin lớn và đèn flash ở đây (!):

http://www.codeproject.com/KB/aspnet/FlashUpload.aspx

+0

cảm ơn cho mẹo IIS 7.x – ivan

2

tôi đã phải vật lộn với vấn đề này trong nhiều giờ ngay bây giờ và cuối cùng đã giải quyết vấn đề cụ thể của tôi và tôi muốn chia sẻ nó ở đây.

Nếu bạn đang sử dụng urlscan, cũng có giới hạn kích thước tệp trong cấu hình của nó. Để thay đổi điều đó, bạn cần phải chỉnh sửa các tập tin "URLScan.ini" nằm (thường) tại địa chỉ:

C: \ WINDOWS \ system32 \ inetsrv \ URLScan

Thay đổi giá trị cho "MaxAllowedContentLength" với giá trị kích thước tệp tối đa bạn muốn.

0

Nếu bạn đang tải lên tài liệu từ điều khiển rad hơn bạn chỉ có thể sử dụng dòng mã này.

RadFileExplorer1.Configuration.MaxUploadFileSize = 2000 * 1024; 

Nó làm việc cho tôi.

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