6

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

索引.cshtml

@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>
}

我的控制器.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# 代码引起的。

任何的想法 ?非常感谢 !

4

1 回答 1

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>
于 2012-09-27T08:24:41.050 回答