使用Microsoft Edge上传时为什么无法访问ASP.NET MVC中上传文件的FileName?

时间:2017-12-07 17:37:21

标签: c# asp.net-mvc file-upload microsoft-edge

我有一个简单的文件上传页面和一个ASP.NET MVC Controller来处理上传的文件。在Chrome和Firefox中,一切都按预期工作。但似乎Edge以不同方式上传文件,以便Controller看到文件已上传,但将FileName显示为""和ContentLength为0。

这是cshtml:

@using (Html.BeginForm("Upload", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
    <h3>Upload File</h3>
    File:
    <input type="file" name="UploadedFile" />
    <input type="submit">Submit</button>
}

在控制器中我有:

HttpPostedFileBase file = Request.Files["UploadedFile"];

之后file对象不为空,但其ContentLength为0,FileName为空字符串。使用Chrome和Firefox,这些值包含正确的数据。

Edge处理文件上传的方式有何不同?

1 个答案:

答案 0 :(得分:0)

问题不在于我的代码。我上传的是同时在Excel中打开的Excel电子表格,Edge uploads Word and Excel files as 0 bytes when the file is open