2012-09-27 8 views
5

Possiedo un archivio BLOB di Azure in cui voglio caricare alcuni file.

Index.cshtmlErrore caricamento archivio blob Azure

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

ho provato con un file 3.5Mo, funziona anche con un file di 20Mo. Ora cerco con un 33Mo e Firefox mi dà l'errore di fondo: Il collegamento è stato ripristinato ...

Edit: Quando ho messo

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

Mi dà lo stesso errore, quindi penso che non è causato dal mio codice C#.

Qualche idea? Molte grazie !

risposta

7

Avrai bisogno di modificare il vostro web.config per permettere il caricamento di file di grandi dimensioni in ASP.NET e IIS (il seguente esempio consentirà un caricamento di file 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. E per i file molto grandi, il timeout predefinito di 2 minuti potrebbe essere un problema. –