【问题标题】:GET byte[] and return using element value?GET byte[] 并使用元素值返回?
【发布时间】:2012-04-24 06:53:45
【问题描述】:

所以最近一直在用这个方法返回一个字符串:

string uri = "http://localhost:8000/Service/Student";
XDocument xDoc = XDocument.Load(uri);
var studentcollection = xDoc.Descendants("Student")
    .Select(n => new
    {
      FirstName = n.Element("FirstName").Value,
    })
    .ToList();

而且它工作正常,但是如果来自 web 服务的值之一是 byte[],这个方法会返回那个值吗?如果没有,你将如何组合该方法(因为我习惯了它)并返回一个字节[]?

【问题讨论】:

  • 我想说.Value.ToArray?会不会错
  • 它“可能”可能是重复的,我不完全确定,从我的 web 服务我已经转换为 base64,但我真的不想转换字节 [],我想把它原封不动地拿回来。

标签: c# web-services rest uri bytearray


【解决方案1】:

您是说其中一个元素可以返回byte[],还是真的是一个代表byte[] 的base 64 编码字符串?如果是后者,您可以从值中提取字节:

byte[] decoded = Convert.FromBase64String(value);

完整代码:

string uri = "http://localhost:8000/Service/Student";
XDocument xDoc = XDocument.Load(uri);
var studentcollection = xDoc.Descendants("Student")
    .Select(Convert.FromBase64String(n.Element("Picture").Value))
    .ToList();

这将为您提供从每个学生的“图片”元素中提取的byte[] 列表(相应地更改代码以创建图片作为学生实例的一部分)。

【讨论】:

    猜你喜欢
    • 2013-03-08
    • 1970-01-01
    • 2023-03-20
    • 2010-10-17
    • 1970-01-01
    • 2015-08-09
    • 2018-06-16
    • 1970-01-01
    • 2011-06-11
    相关资源
    最近更新 更多