gpt4 book ai didi

c# - 从 ASP Web Api IHttpActionResult 反序列化 byte[]

转载 作者:行者123 更新时间:2023-11-30 19:39:14 26 4
gpt4 key购买 nike

我正在尝试找出正确且最佳的方法来反序列化来自返回 byte[] 的 Asp.Net Web Api 方法的响应。

Web Api 方法如下所示

public IHttpActionResult Get()
{
byte[] content = GetContent();
return Ok(content);
}

我正在调用端点

string content;
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("http://localhost/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/xml"));

HttpResponseMessage response = await client.GetAsync("api/v1/thecorrectpath");
if (response.IsSuccessStatusCode)
{
content = await response.Content.ReadAsStringAsync();
}
}

当我将响应读入 content 时,它的格式如下

<base64Binary xmlns="http://schemas.microsoft.com/2003/10/Serialization/">SfSEjEyNzE9MNgMCD2a8i0xLjcNJeLjzC...R4Cg==</base64Binary>

将此响应转换为 byte[] 的最佳实践方法是什么?

最佳答案

我会使用 json.net为此。

网络 API:

public string Get()
{
byte[] content = GetContent();
var data = JsonConvert.SerializeObject(content);
return data;
}

客户:

private static async Task GetData()
{
string content;
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("http://localhost:23306/");
client.DefaultRequestHeaders.Accept.Clear();

HttpResponseMessage response = await client.GetAsync("home/get");
if (response.IsSuccessStatusCode)
{
content = await response.Content.ReadAsStringAsync();
var data = JsonConvert.DeserializeObject<byte[]>(content);
}
}
}

关于c# - 从 ASP Web Api IHttpActionResult 反序列化 byte[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28599898/

26 4 0
文章推荐: c# - JustMock 与最小起订量
文章推荐: javascript - "if"双符号速记
文章推荐: javascript - 使用单个 HTML 页面将
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com