【问题标题】:How do I pass binary payloads in RestRequest and RestResponse with Grapevine 4.0?如何使用 Grapevine 4.0 在 RestRequest 和 RestResponse 中传递二进制有效负载?
【发布时间】:2019-11-27 14:02:51
【问题描述】:

我正在尝试弄清楚如何使用 Grapevine 传递二进制数据。我找到了这个链接:https://github.com/sukona/Grapevine/issues/208,但没有看到任何后续代码。我还没有找到任何其他指示如何做到这一点。

【问题讨论】:

  • 请求/响应是http,二进制数据必须转换为Base 64 String。

标签: c# grapevine


【解决方案1】:

请求上的Payload 属性是一个助手,它将底层HttpListenerRequestInputStream 属性读入字符串进行解析。只要之前的路由没有读取过这个流(它是一个只读流),你就可以访问这个流并直接读取它。

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
    }
}

从那里,您可以读取流并根据需要进行转换。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-15
    • 1970-01-01
    相关资源
    最近更新 更多