ASP.NET Core单文件和多文件上传并保存到服务端的方法单文件和多文件上传并保存到服务端的方法
主要介绍了ASP.NET Core单文件和多文件上传并保存到服务端的方法,文中通过示例代码介绍的非常详细,对
大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
前言:前言:
在我们日常开发中,关于图片,视频,音频,文档等相关文件上传并保存到服务端中是非常常见的一个功能,今天主要是
把自己在开发中常用的两种方式记录下来方便一下直接使用,并且希望能够帮助到有需要的同学!
一、配置一、配置ASP.NET Core中的静态文件:中的静态文件:
简单概述:简单概述:
在ASP.NET Core应用中静态资源文件需要进行相应的配置才能够提供给客户端直接使用。
详情描述请参考官方文档:
https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/static-files?view=aspnetcore-3.1
简单配置,提供简单配置,提供 Web 根目录内的文件:根目录内的文件:
调用 Startup.Configure中的UseStaticFiles 方法配置:
public void Configure(IApplicationBuilder app)
{
app.UseStaticFiles();
}
二、文件服务器和应用程序配置(二、文件服务器和应用程序配置(IIS,,Kestrel):):
详情描述,请参考官方文档说明:
https://docs.microsoft.com/zh-cn/aspnet/core/mvc/models/file-uploads?view=aspnetcore-3.1#server-and-app-configuration
多部分正文长度限制:多部分正文长度限制:
MultipartBodyLengthLimit 设置每个多部分正文的长度限制。 分析超出此限制的窗体部分时,会引发 InvalidDataException。
默认值为 134,217,728 (128 MB)。 使用 MultipartBodyLengthLimit 中的 Startup.ConfigureServices 设置自定义此限制:
public void ConfigureServices(IServiceCollection services)
{
services.Configure<FormOptions>(options =>
{
// Set the limit to 256 MB
options.MultipartBodyLengthLimit = 268435456;
});
}
Kestrel 最大请求正文大小:最大请求正文大小:
对于 Kestrel 托管的应用,默认的最大请求正文大小为 30,000,000 个字节,约为 28.6 MB。 使用 MaxRequestBodySize
Kestrel 服务器选项自定义限制:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureKestrel((context, options) =>
{
// Handle requests up to 50 MB
options.Limits.MaxRequestBodySize = 52428800;
})
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
IIS 内容长度限制:内容长度限制:
默认的请求限制 (maxAllowedContentLength) 为 30,000,000 字节,大约 28.6 MB。 请在 web.config 文件中自定义此限制:
<system.webServer>
<security>
<requestFiltering>
<!-- Handle requests up to 50 MB -->
<requestLimits maxAllowedContentLength="52428800" />
</requestFiltering>
</security>
评论0