我设法将Image转换为varbinary并将其存储在我的数据库中。我一直在尝试将varbinary转换为Image,但我在这里遇到了一些麻烦。将varbinary转换为图像
首先我从服务中的数据库中获取二进制文件。
public Binary getAfbeelding(int id)
{
var query = (from p in dc.Afbeeldings
where p.id == id
select p.source).Single();
Binary source = query;
return source;
}
然后我尝试将VARBINARY转换为图像,用在计算器上找到代码:
public static string convertToImage(Binary source)
{
byte[] b = source.ToArray();
MemoryStream ms = new MemoryStream(b);
Image img = Image.FromStream(ms);
return img.Source.ToString();
}
我遇到了麻烦调用之前new MemoryStream
:
“OndernemersAward .EditAfbeeldingServiceReference.Binary'不包含'ToArray'的定义,并且没有扩展方法'ToArray'接受类型为 的第一个参数'OndernemersAward.EditAfbeeldingService Reference.Binary”可以找到(是否缺少using指令或程序集引用?)
出于某种奇怪的原因,我不能用‘正常’的二进制,它总是告诉我用OndernemersAward.EditAfbeeldingServiceReference.Binary
这是你可以看到我的ServiceReference。
这怎么解决?
奇怪的是,我不没有一个叫Binary的类。 我设法通过将二进制转换为我的服务中的一个字节[]来解决。 'byte [] source = query.ToArray(); return source;' 但是现在当试图转换图像时,似乎在silverlight中,图像没有'.FromStream'。 (我也不能使用'System.Drawing') – Schoof