使用.Net核心文件上传(流)时出现IOException

时间:2017-07-05 01:21:42

标签: asp.net-core

2017年12月12日更新,Github问题现已更新为以下问题的解决方案,请参阅ardalis的评论:3691

我一直在尝试使用Microsoft的Sample中的信息在.NET Core MVC中运行文件流; FileUploadSample

但纯粹的.Net Core MVC没有成功(因为流的示例使用Angular绑定,这不是我正在使用的)。

Test File Streaming Repo包含重现我收到的问题的最低限度代码。

用户导航到 TestFileUpload / Views / Streaming / Index.cshtml ,他们将输入一些详细信息并选择要上传的文件。然后,用户将提交表单;

<form asp-area="" enctype="multipart/form-data" asp-controller="Streaming" asp-action="StreamUpload" asp-route-returnurl="@ViewData[ "ReturnUrl" ]" id="submit-file-form" method="post">
    <input name="CurriculumVitae" type="file" id="file" />
    <button type="submit">Create User</button>
</form>

然后调用表单: TestFileUpload / Controllers / StreamingController.cs

public async Task< IActionResult > StreamUpload() {
    ...
    var reader = new MultipartReader( boundary, HttpContext.Request.Body );
    var section = await reader.ReadNextSectionAsync();
    ...
}

但是,然后我收到错误“IOException:Stream意外结束,内容可能已被其他组件读取。”

TestFileUpload.Controllers.StreamingController+<StreamUpload>d__2.MoveNext() in StreamingController.cs

            51. var section = await reader.ReadNextSectionAsync();

0 个答案:

没有答案