Kai*_*lor 1 c# azure azure-web-app-service asp.net-core azure-aks
如何增加 Azure 中的文件上传大小限制?它的上限约为 1MB。我尝试查看 Azure 门户中的各种设置,但找不到任何内容。我认为问题出在云环境上,因为我在本地没有问题。
我有一个 C# Web 应用程序,它使用 ASP.NET Core 和 React with .tsx。当我在本地运行该程序时,我可以上传最大大小为 28MB 的文件,这是 ASP.NET Core 的默认限制。但是,当我使用 Azure 部署到 K8s 集群(Kubernetes 服务)时,Web 应用程序只能上传大小最大约为 1MB 的文件。
我可以上传 984KB .jpg 文件。当我尝试上传 1,043KB .png(或任何更大的文件)时,响应是
413请求实体太大
nginx/1.17.7
我看过这个问题的解决方案是
我在发布的代码片段中循环的文件对象是 IList 类型,我是通过在控制器中转换 Request.Form.Files 来获得的。我为什么要这样做,我不记得了。无论如何,将文件列表保留为由 MVC 绑定的默认 IFormFileCollection(Request.Form.Files 上的类型)似乎可以解决此问题。它还解决了我遇到的某些文件扩展名无法上传的另一个问题。
然而,我习惯于IFormFile不进行强制转换而直接上传。前端 .tsx 有一个带有dropzone输入组件的表单。更改事件e.currentTarget.files返回一个FileList. 上传文件命令和控制器都专门IFormFile使用IFileSystem.
您没有提供太多详细信息,所以我猜您正在使用如下所示的默认设置:
正如您在错误消息中看到的,问题不是您的 asp.net core 应用程序,而是它前面的 nginx 入口。
要解决这个问题,您必须配置 nginx 入口以允许更大的上传。
在我们的配置中,看起来像这样
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/proxy-body-size: 500m
Run Code Online (Sandbox Code Playgroud)
那么修复它的步骤:
文件:
| 归档时间: |
|
| 查看次数: |
3061 次 |
| 最近记录: |