【发布时间】:2014-05-09 12:28:41
【问题描述】:
在 ODataController(在 .net 中)上支持接受二进制数据的最佳方式是什么?二进制流可以很大,至少 2MB。我有一个从 ODataController (System.Web.Http.Odata.OdataController) 派生的控制器。
- 如何让这个控制器接受除 application/json 以外的 Content-Type(可能是 application/octet-stream)
- 我在上传时使用二进制数据的 base64 编码字符串。有更好的方法吗?
我目前在 ODataController 中的内容是:
[HttpPut] public float Put(string userId, string userType, [FromBody] string base64data)
两个痛点:
- base64data 解析为 null,除非字符串包含在对象中。例如,像“This is a string”这样的正文会产生空值。正文 "{"value":"This is a string"}" 解析良好。
- 如果我发送超过 2MB 的数据,我会再次收到 null(没有错误)。
有什么方法可以在 odata 端点上以更高的允许限制和有效的方式支持二进制数据?
【问题讨论】: