处理 Web 中的 Base64 字符串数组 Api

Dealing with Array of Base64 strings in Web Api

我正在尝试维护一个项目,该项目试图 post 图像(是的,多个)从移动设备到 dot-net 网络 api。

api和移动设备之间的默认内容是application/json

public async Task<HttpResponseMessage> PostExpertiseForm(List<string> images){}

这是 posting 的实际方法,在这种方法中,他们试图将 base64 字符串 (images) 写入文件。

但问题是当我尝试调用此 api 时,web api 第一次将 images 与我的 base64 字符串绑定,但所有下一个请求(与第一个)绑定到 null。

我做了一些 google 搜索并认为这是一个请求大小问题,我将这行添加到 Web.config :

<httpRuntime targetFramework="4.6" maxRequestLength="2147483647" />

<requestLimits maxAllowedContentLength="2147483648" />

<jsonSerialization maxJsonLength="2147483644">

没用。

真正的问题是什么?为什么我的第一个请求有效?

感谢您的建议!

问题不在于 json 尺码。有一种记录每个响应和请求的机制,在日志请求方法中我看到了这一行 var request=await Request.ReadAsStringAsync();

在网络 api 中搜索无参数 post 方法后,我发现了这个问题 why-is-the-body-of-web-api-request-read-once

我意识到我尝试读取请求正文两次并导致死锁。

我更改了日志记录的逻辑。问题解决了。