通过查阅相关资料并进行验证,发现如果在上传超过web服务器的文件大小时,报错,可以根据错误信息进行设置相关数据;
在经过(以下1,2,3设置均无效的情况下(没有web.config文件),多种设置情况,详细可以百度)
1.设置Program.cs
2.StartUp.cs 文件内设置
services.Configure<KestrelServerOptions>(options =>
{
options.Limits.MaxRequestBodySize = 104857600; //MaxRequestBodySize默认是28.61MB(30,000,000 bytes)
});
services.Configure<KestrelServerOptions>(options =>
{
options.Limits.MaxRequestBodySize = null;//不做限制
});
services.Configure<FormOptions>(o =>
{
//o.BufferBodyLengthLimit = long.MaxValue;
o.MemoryBufferThreshold = int.MaxValue;
o.ValueLengthLimit = int.MaxValue;
o.MultipartBodyLengthLimit = long.MaxValue;
//o.MultipartBoundaryLengthLimit = int.MaxValue;
//o.MultipartHeadersCountLimit = int.MaxValue;
//o.MultipartHeadersLengthLimit = int.MaxValue;
});
services.Configure<IISServerOptions>(o =>
{
//o.BufferBodyLengthLimit = long.MaxValue;
o.MaxRequestBodySize = long.MaxValue;
//o.MultipartBoundaryLengthLimit = int.MaxValue;
//o.MultipartHeadersCountLimit = int.MaxValue;
//o.MultipartHeadersLengthLimit = int.MaxValue;
});
services.AddRazorPages(options =>
{
options.Conventions.AddPageApplicationModelConvention("/Converter", model =>
{
model.Filters.Add(new RequestFormLimitsAttribute()
{
MultipartBodyLengthLimit = 268435456
});
});
});
3.在接口设置
[DisableRequestSizeLimit]
[RequestSizeLimit(209715200)]
[RequestFormLimits(MultipartBodyLengthLimit = 209715200)]
以上设置验证均未生效的情况下
对文件applicationhost.config进行设置(文件地址可能存在.vs里面某个文件夹下面的config文件夹内)可以实现大文件的上传成功,只要不超过此处设置的大小即可