c# - 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" 。
我不确定这是否只是配置问题,或者我需要更改代码中的某些内容。
解决方案
推荐阅读
- excel - 选择工作表类的方法失败(不确定原因)
- android - 无法使用 Gson 解析 JSON:无法转换错误
- c# - C#需要存储一个解析后的SQL Server表,使用datatable或者list
- bash - 为通过 xargs 运行的 shell 脚本生成可理解的日志
- laravel - Laravel 使用列键/值从 db 获取值
- python - 用颜色更新excel文件
- php - 在表单中验证 ReCapatcha?
- java - JMH 测试产生大量“中断”消息
- tensorflow - 我的 Pytorch 模型给出了非常糟糕的结果
- node.js - 从服务器内部访问不同服务器上的路由(Express)