首页 > 解决方案 > WEBAPI - 在请求中传递大的 base 64 字符串为空

问题描述

我创建了一个具有上传文档功能的 web api 服务,当我的文档小于 4MB 时它可以工作。但是当我传递一个价值 >4MB 文档的 base 64 字符串时,请求正文为空/空。

这就是我的模型的样子:

public class UploadReq {
  public List<FileDetails>  FD {get;set;}
}

Public class FileDetails {
  public string FileName {get;set;}
   public byte[] Content {get;set;}
}

我的控制器看起来像这样

[HttPost]
[Route('api/uploaddoc')]
public Response Upload([FromBody]UploadReq req){
   //when breakpoint hits here, req.FileDetails has a length of 0, it is empty.
}

在我的网络配置中,我已经在 system.web/httpruntime 中添加了一个 maxRequestLength="5000000"。除此之外,我还添加了 web.config system.webserver/requestfiltering/requestLimits maxAllowedContentLength="50000000" 。

我不确定这是否只是配置问题,或者我需要更改代码中的某些内容。

标签: c#asp.net-web-api

解决方案


推荐阅读