2012-09-27 15 views
5

Mam pamięć masową Azure Blob, do której chcę przesłać niektóre pliki.

Index.cshtmlPrzesyłanie zbiorczej przestrzeni dyskowej Azusa niepowodzeniem

@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"); 
} 

testowałem z plikiem 3.5Mo, działa nawet z plikami 20Mo. Teraz staram się 33Mo i firefox daje mi podstawowy błąd: Połączenie zostało zresetowane ...

Edit: Kiedy kładę

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

To daje mi ten sam błąd, więc myślę, to nie jest spowodowane moim kodem C#.

Każdy pomysł? Wielkie dzięki !

Odpowiedz

7

Musisz zmodyfikować web.config, aby umożliwić duże przesyłanie plików w ASP.NET i IIS (poniższy przykład pozwoli przesłać plik 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. A dla naprawdę dużych plików domyślnym czasem oczekiwania na żądanie wynoszącym 2 minuty może być problem. –

Powiązane problemy