2012-09-27 39 views
5

Tôi có Bộ nhớ Azure Blob nơi tôi muốn tải lên một số tệp.

Index.cshtmlTải lên bộ nhớ Azure blob không thành công

@using (Html.BeginForm("File_post", "MyController", FormMethod.Post, new { enctype = "multipart/form-data" })) 
{ 
    <div class="editor-label"> 
    <p> 
     <input type="file" name="file" /> 
    </p> 
     <input type="submit" value="Upload" /> 
    </div> 
} 

MyController.cs

public ActionResult File_post(HttpPostedFileBase file) 
{ 
    CloudBlobContainer blobContainer = Initialize(); // This Initialize my blobContainer 
    CloudBlockBlob blob; 
    blob = blobContainer.GetBlockBlobReference("myfile"); 
    blob.UploadFromStream(file.InputStream); 
    Return("Index"); 
} 

tôi thử nghiệm với một tập tin 3.5Mo, nó hoạt động ngay cả với một tập tin 20Mo. Bây giờ tôi thử với một 33Mo và firefox mang lại cho tôi những lỗi cơ bản: Kết nối được thiết lập lại ...

Edit: Khi tôi đặt

public ActionResult File_post(HttpPostedFileBase file) 
{ 
    Return("Index"); 
} 

Nó mang lại cho tôi những lỗi tương tự, vì vậy tôi nghĩ nó không phải do mã C# của tôi gây ra.

Bất kỳ ý tưởng nào? Cảm ơn rất nhiều !

Trả lời

7

Bạn sẽ cần phải sửa đổi web.config của bạn để cho phép tải lên tập tin lớn trong ASP.NET và IIS (ví dụ sau đây sẽ cho phép tải lên tập tin 50MB):

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <system.web> 
     <httpRuntime maxRequestLength="51200" /> 
    </system.web> 
    <system.webServer> 
     <security> 
      <requestFiltering> 
       <requestLimits maxAllowedContentLength="51200000" /> 
      </requestFiltering> 
     </security> 
    </system.webServer> 
</configuration> 
+0

+1. Và đối với các tệp thực sự lớn, thời gian chờ yêu cầu mặc định là 2 phút có thể bắt đầu là một vấn đề. –

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