2012-09-27 103 views
5

我有一个Azure Blob存储,我想上传一些文件。

Index.cshtmlAzure blob存储上传失败

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

我有3.5Mo文件进行测试,它的工作即使有20Mo文件。现在,我尝试用33Mo和Firefox给我的基本错误: 连接被重置...

编辑:当我把

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

它给了我同样的错误,所以我觉得这不是由我的C#代码造成的。

有什么想法?非常感谢 !

回答

7

你需要修改你的web.config,允许在ASP.NET和IIS大文件上传(下面的例子将允许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。而对于真正的大文件,2分钟的默认请求超时可能会成为问题。 –