如何将base64字符串转换为二进制

时间:2017-02-07 14:17:56

标签: c# linq uwp

澄清

这个问题不是链接建议的重复,因为这是一个基于 UWP 的问题,其中无法引用System.Data.Linq命名空间。这是以前重复的问题关闭但是这是一个不同的问题。这不是标准的.NET,它是 通用Windows平台

如何在UWP中将base64字符串转换为System.Data.Linq.Binary类型。

当我尝试将数据发送到使用linq到sql datacontext类的WCF服务时,问题就出现了。数据库中的字段是image类型,linq到sql datacontext创建的类将类型更改为System.Data.Linq.Binary而不是byte[](这是我在使用时所使用的类型)手动创建的类。

到目前为止,我的尝试毫无结果。通常我会将其作为byte []发送,但是如果我使用Convert.FromBase64String(mystring)我会收到错误

  

无法将byte []隐式转换为System.Data.Linq.Binary

澄清

这个问题不是链接建议的重复,因为这是一个基于 UWP 的问题,其中无法引用System.Data.Linq命名空间。

1 个答案:

答案 0 :(得分:-1)

Linq.Binary has a constructor that takes a byte[]在Windows 10之前的UWP中可用。

所以在这种情况下:

var x = new System.Data.Linq.Binary(Convert.FromBase64String(mystring));

对于Windows 10或更高版本,您需要通过更改实体类型来更改Web Service中的对象以获取字节数组。