我正在制作 ASP.NET Core Web 应用程序,并且我正在通过 HttpContext 从 javascript 文件上传 PDF 文件。因此,当我尝试使用 Request.Form.File 在服务器端加载文件时,Form 会抛出 System.IO.InvalidDataException 类型的异常。表单消息显示:“超出了多部分主体长度限制 16384”。我尝试编辑 web.config 文件以增加该限制,但消息始终相同。
我是否遗漏了什么或者我看错了方向?
Thanks.
定义该属性:
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
public class RequestFormSizeLimitAttribute : Attribute, IAuthorizationFilter, IOrderedFilter
{
private readonly FormOptions _formOptions;
public RequestFormSizeLimitAttribute(int valueCountLimit)
{
_formOptions = new FormOptions()
{
ValueCountLimit = valueCountLimit
};
}
public int Order { get; set; }
public void OnAuthorization(AuthorizationFilterContext context)
{
var features = context.HttpContext.Features;
var formFeature = features.Get<IFormFeature>();
if (formFeature == null || formFeature.Form == null)
{
// Request form has not been read yet, so set the limits
features.Set<IFormFeature>(new FormFeature(context.HttpContext.Request, _formOptions));
}
}
}
并将此属性添加到您的操作方法中看看会发生什么:
[RequestFormSizeLimit(valueCountLimit: 2147483648)]
[HttpPost]
public IActionResult ActionMethod(...)
{
...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)