当前位置: 首页 > 编程语言 > C#

将varbinary转换为图片分享

时间:2023-04-10 21:15:47 C#

ConvertvarbinarytoImage我设法将Image转换为varbinary并将其存储在我的数据库中。我一直在尝试将varbinary转换为图像,但我在这里遇到了麻烦。首先,我从服务中的数据库中获取二进制文件。publicBinarygetAfbeelding(intid){varquery=(frompindc.Afbeeldingswherep.id==idselectp.source).Single();二进制源=查询;返回源;然后我尝试使用代码将varbinary转换为图像:publicstaticstringconvertToImage(Binarysource){byte[]b=source.ToArray();MemoryStreamms=newMemoryStream(b);图片img=Image.FromStream(ms);返回图像。Source.ToString();我在调用新的MemoryStream之前遇到了麻烦:'ondernemersAward.EditAfbeeldingServiceReference.Binary'不包含'ToArray'的定义,并且扩展方法'ToArray'不接受'OndernemersAward.EditAfbeeldingServiceReference.Binary'类型的子类一个参数可以找到(您是否缺少using指令或程序集引用?)出于某种奇怪的原因,我不能使用“普通”二进制文件,它总是告诉我使用OndernemersAward.EditAfbeeldingServiceReference.Binary,这是我的ServiceReference,您可以看到。如何解决这个问题呢?1)将对项目的引用添加到System.Data.Linq.dll2)然后试试这个:publicstaticImageConvertToImage(System.Data.Linq.BinaryiBinary){图片rImage=null;使用(MemoryStreamms=newMemoryStream(arrayBinary)){rImage=Image.FromStream(ms);}返回图像;这里发生的是编译器认为Binary是您的命名空间OndernemersAward.EditAfbeeldingServiceReference中的一个类。您的convertToImage代码需要一个名为source的参数,其类型为System.Data.Linq.Binary。您在StackOverflow上找到的代码假定这是数据类型。如果您在自己的命名空间中有一个类,请将其重命名为其他名称以避免这种命名重复。如果这不是一个好的选择,那么在您的代码中显式使用2个二进制类时,请考虑使用完全限定的命名空间。您可能在OndernemersAward.EditAfbeeldingServiceReference命名空间中创建了Binary类。将System.Data.Linq.dll库引用添加到您的引用中。然后写:以上就是C#学习教程:varbinary转图片分享的全部内容。如果对大家有用,需要详细了解C#学习教程,希望大家多多关注——usingSystem.Data.Linq;....publicstaticImageConvertToImage(BinaryiBinary){vararrayBinary=iBinary.ToArray();图片rImage=null;使用(MemoryStreamms=newMemoryStream(arrayBinary)){rImage=Image.FromStream(ms);}返回图像;}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: