Razor Pages .Net Core - 无法上传大文件/视频
Razor Pages .Net Core - cannot upload large Files / Videos
我正在尝试 'upload' 将视频文件放入我的应用程序并将其传递到数据库。我能够很好地处理图片,但是一旦我尝试更大的/视频文件,我就会收到状态:提交时出现 400 错误代码。
我在代码后面的 OnPostAsync
方法上放置了一个断点,但它没有被击中。
我只有一个标准输入 --> 类型:文件:
从网上看到一些提及,我手动向项目添加了一个 web.config
文件并添加了以下内容:
但是,如果我尝试上传大文件,我仍然会收到 400 错误。我注意到在实际调用中它应该允许 mime 类型:
根据其他建议,我还尝试将以下内容添加到
但得到以下结果:
还有正在填充大文件数据的模型:
还是一样的错误。
我很想听听人们对可能导致我的错误的建议。
在尝试上传大文件的方法之前添加此行。
[RequestFormLimits(MultipartBodyLengthLimit = 104857600)]
通过将以下内容添加到 Startup.cs 文件中,我最终成功实现了此功能:
代码:
services.Configure<FormOptions>(x =>
{
x.ValueLengthLimit = int.MaxValue;
x.MultipartBodyLengthLimit = int.MaxValue;
x.MultipartHeadersLengthLimit = int.MaxValue;
});
services.Configure<KestrelServerOptions>(options =>
{
options.Limits.MaxRequestBodySize = int.MaxValue;
});
现在我可以按预期加载大文件了。
在ASP.NET Core MVC中,您可以将下面的代码(Attribute)放在您的方法(Action)之前,但是在Razor页面中,我们不能将它放在方法(Handler)之前!并且编译器会通知警告并且代码不起作用!
[RequestFormLimits(MultipartBodyLengthLimit = 104857600)]
因此,在 ASP.NET Core Razor Pages 中,我们应该将以下代码(属性)放在 class(页面模型)之前,而不是方法(处理程序)之前!
[RequestFormLimits(MultipartBodyLengthLimit = 104857600)]
public class UploadFile : PageModel
...
我正在尝试 'upload' 将视频文件放入我的应用程序并将其传递到数据库。我能够很好地处理图片,但是一旦我尝试更大的/视频文件,我就会收到状态:提交时出现 400 错误代码。
我在代码后面的 OnPostAsync
方法上放置了一个断点,但它没有被击中。
我只有一个标准输入 --> 类型:文件:
从网上看到一些提及,我手动向项目添加了一个 web.config
文件并添加了以下内容:
但是,如果我尝试上传大文件,我仍然会收到 400 错误。我注意到在实际调用中它应该允许 mime 类型:
根据其他建议,我还尝试将以下内容添加到
但得到以下结果:
还有正在填充大文件数据的模型:
还是一样的错误。
我很想听听人们对可能导致我的错误的建议。
在尝试上传大文件的方法之前添加此行。
[RequestFormLimits(MultipartBodyLengthLimit = 104857600)]
通过将以下内容添加到 Startup.cs 文件中,我最终成功实现了此功能:
代码:
services.Configure<FormOptions>(x =>
{
x.ValueLengthLimit = int.MaxValue;
x.MultipartBodyLengthLimit = int.MaxValue;
x.MultipartHeadersLengthLimit = int.MaxValue;
});
services.Configure<KestrelServerOptions>(options =>
{
options.Limits.MaxRequestBodySize = int.MaxValue;
});
现在我可以按预期加载大文件了。
在ASP.NET Core MVC中,您可以将下面的代码(Attribute)放在您的方法(Action)之前,但是在Razor页面中,我们不能将它放在方法(Handler)之前!并且编译器会通知警告并且代码不起作用!
[RequestFormLimits(MultipartBodyLengthLimit = 104857600)]
因此,在 ASP.NET Core Razor Pages 中,我们应该将以下代码(属性)放在 class(页面模型)之前,而不是方法(处理程序)之前!
[RequestFormLimits(MultipartBodyLengthLimit = 104857600)]
public class UploadFile : PageModel
...