Asp.net mvc HttpPostedFileBase inputstream中的asp.net mvc文件上载读取超时

Asp.net mvc HttpPostedFileBase inputstream中的asp.net mvc文件上载读取超时,asp.net-mvc,upload,inputstream,Asp.net Mvc,Upload,Inputstream,我在asp.net mvc中有一个接受上传文件的操作。我获取的HttpPostedFileBase不为null,甚至ContentLength的值也大于0,但当我检查“InputSream”时,它有以下错误: ReadTimeout='((System.Web.HttpPostedFileWrapper)refile)。InputStream.ReadTimeout'引发了类型为“System.InvalidOperationException”的异常 因此,当我想按如下方式转换为readitb

我在asp.net mvc中有一个接受上传文件的操作。我获取的HttpPostedFileBase不为null,甚至ContentLength的值也大于0,但当我检查“InputSream”时,它有以下错误:

ReadTimeout='((System.Web.HttpPostedFileWrapper)refile)。InputStream.ReadTimeout'引发了类型为“System.InvalidOperationException”的异常

因此,当我想按如下方式转换为readitbytes时,除了空数组外,什么都没有:

using (var reader = new System.IO.BinaryReader(refile.InputStream))
                    {
                        var a = reader.ReadBytes(model.File.ContentLength);
                    }
所以“a”得到“{byte[0]}”


有什么问题

Abp正在尝试验证MVC操作参数,当它尝试读取文件参数的值以验证它时,会发生此异常

您可以忽略用于验证的
HttpPostedFileWrapper
类型,所有内容都应该可以正常工作

使用此选项可从中获取字节数组(有关详细信息,请参阅:)


您的表单中可能缺少
enctype
。如果有此类问题,请更正您的表格。带有文件的MVC表单如下所示

@using (Html.BeginForm("Add", "Advertisement", FormMethod.Post, new { @class = "form-horizontal", enctype = "multipart/form-data" }))
{
    //Content
}
谢谢你的帮助

@using (Html.BeginForm("Add", "Advertisement", FormMethod.Post, new { @class = "form-horizontal", enctype = "multipart/form-data" }))
{
    //Content
}