【问题标题】:asp.net core 2.2 api json file sizeasp.net core 2.2 api json 文件大小
【发布时间】:2019-12-30 12:42:19
【问题描述】:

我需要向我的 API 发布大量数据

        [HttpPost]
        [RequestSizeLimit(40000000)]
        [Route("PostList")]
        public async Task<IActionResult> PostList([FromBody] IEnumerable<ItemMasterDto> data)
        {
            // Do work
            return Ok();
        }

要发布的示例数据是这样的

[
  {
    "ExternalMappingId": "I-01",
    "GroupName": "string",
    "SubGroupName": "string",
    "DisplayItemCode": "string",
    "ItemDescription": "string",
    "DispItemDescription": "string",
    "ItemSubDescription": "string",
    "UnitSet": "string",
    "DefaultTranUnitCode": "string",
    "DefaultReportUnitCode": "string",
    "IsVatExempted": true,
    "IsImported": true,
    "IsVATApplicable": true,
    "IsSaleable": true,
    "HSCode": "string",
    "VATPercent": 0,
    "IsManufacturing": true
  }
  {
    "ExternalMappingId": "I-02",
    "GroupName": "string",
    "SubGroupName": "string",
    "DisplayItemCode": "string",
    "ItemDescription": "string",
    "DispItemDescription": "string",
    "ItemSubDescription": "string",
    "UnitSet": "string",
    "DefaultTranUnitCode": "string",
    "DefaultReportUnitCode": "string",
    "IsVatExempted": true,
    "IsImported": true,
    "IsVATApplicable": true,
    "IsSaleable": true,
    "HSCode": "string",
    "VATPercent": 0,
    "IsManufacturing": true
  }
]

它适用于少量数据,但是当我尝试发布超过 100k 的数据时,API 拒绝连接,并且调用失败,状态码为 404(未找到)错误。如您所见,我已经尝试过[RequestSizeLimit(40000000),并且我还尝试在我的 Startup.cs 中关注

        services.Configure<FormOptions>(o =>
            {
                o.ValueLengthLimit = int.MaxValue;
                o.MultipartBodyLengthLimit = long.MaxValue;
                o.MultipartBoundaryLengthLimit = int.MaxValue;
                o.MultipartHeadersCountLimit = int.MaxValue;
                o.MultipartHeadersLengthLimit = int.MaxValue;
                o.BufferBodyLengthLimit = long.MaxValue;
            });

我的总数据可能在 100k 到 200k 之间。我能做些什么 ??提前谢谢。

【问题讨论】:

  • 您是否尝试从启动文件中删除请求大小限制和所有额外配置?
  • 是的.. 我已经这样做了
  • 我确信文件大小没有问题,但使用此参数 IEnumerable。也尝试发布示例数据
  • 我编辑了我的问题并添加了示例数据。请检查 。谢谢
  • IEnumerable 改为尝试 List

标签: asp.net-core .net-core asp.net-core-webapi


【解决方案1】:

尝试更新你的配置文件requestLimits

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    ...
    <security>
      <requestFiltering>
        <!-- This will handle requests up to 50MB -->
        <requestLimits maxAllowedContentLength="52428800" />
      </requestFiltering>
    </security>
   ...
  </system.webServer>
</configuration>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-18
    • 2023-04-08
    • 1970-01-01
    • 2019-09-19
    • 2020-01-03
    • 1970-01-01
    相关资源
    最近更新 更多