如何使用 Grapevine 4.0 在 RestRequest 和 RestResponse 中传递二进制有效负载?
Posted
技术标签:
【中文标题】如何使用 Grapevine 4.0 在 RestRequest 和 RestResponse 中传递二进制有效负载?【英文标题】:How do I pass binary payloads in RestRequest and RestResponse with Grapevine 4.0? 【发布时间】:2019-11-27 14:02:51 【问题描述】:我正在尝试弄清楚如何使用 Grapevine 传递二进制数据。我找到了这个链接:https://github.com/sukona/Grapevine/issues/208,但没有看到任何后续代码。我还没有找到任何其他指示如何做到这一点。
【问题讨论】:
请求/响应是http,二进制数据必须转换为Base 64 String。 【参考方案1】:请求上的Payload
属性是一个助手,它将底层HttpListenerRequest
的InputStream
属性读入字符串进行解析。只要之前的路由没有读取过这个流(它是一个只读流),你就可以访问这个流并直接读取它。
public static void GetBinaryData(HttpContext context)
if (context.Request is HttpRequest request)
var input = request.Advanced.InputStream;
// Do what you want to get your data out of the stream
从那里,您可以读取流并根据需要进行转换。
【讨论】:
以上是关于如何使用 Grapevine 4.0 在 RestRequest 和 RestResponse 中传递二进制有效负载?的主要内容,如果未能解决你的问题,请参考以下文章
将 REST 请求从 HTML 按钮发布到 Grapevine
Grapevine 示例 REST 服务器代码返回“未找到”响应
无法使用 useHTTPS 访问 Grapevine rest 服务器