文件上传可以从 Swagger 进行,但在 REST API 客户端中失败,显示 413 请求实体太大

问题描述 投票:0回答:1

我的 .net core Rest api 与 IIS 服务器设置能够通过 Swagger UI 上传文件,但当我尝试从 REST API 客户端(Postman 或 Insomnia)上传时失败,提示“413 请求实体太大”。

我可以通过 Swagger 上传大文件,但所有小于 100 kb 的文件都无法通过 REST 客户端上传。

文件上传后我从 Swagger UI 中的curl如下:

curl -X 'POST' 'https://example.com/api/FileUpload/UploadFile' \
     -H 'accept: */*' \
     -H 'Content-Type: multipart/form-data' \
     -F '[email protected];type=application/pdf'
rest asp.net-core file-upload swagger
1个回答
0
投票

IIS 对用户可以上传到应用程序的文件大小有限制。如果文件大小超过限制,应用程序将抛出“HTTP 请求错误,收到 HTTP 状态 413(请求实体太大)”错误。

默认文件上传大小为 49 KB(49152 字节)。

我建议您可以按照以下步骤进行修改,然后就可以正常使用了。

更改该参数值的步骤:

  • 打开 IIS 管理器
  • 选择站点
  • 双击“配置编辑器”
  • 选择system.webServer,然后选择serverRuntime
  • 修改uploadReadAheadSize值
  • 点击“应用”

结果:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.