首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DirectCast MySQL BLOB to a PictureBox

DirectCast MySQL BLOB to a PictureBox
EN

Stack Overflow用户
提问于 2016-09-16 07:07:00
回答 1查看 297关注 0票数 0
代码语言:javascript
复制
frmSingleRecord.picImage.Image = DirectCast(sdr("photo_index"), Image)

这段代码来自我的MysqlDataReaderphoto_index是来自数据库Blob。我从这段代码中得到了错误。

无法将“System.Byte[]”类型的对象转换为“System.Drawing.Image”类型。

如果可能的话,DirectCast a Blob to PictureBox,我如何才能这样做呢?如果不是的话,任何建议都会很棒!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-16 14:26:01

如前所述,不能将字节数组转换为作为UI控件的PictureBox,但是可以将二进制BLOB转换为Byte(),这样就可以从它创建图像。假设您确实将Image保存为Byte()到DB:

代码语言:javascript
复制
...
If rdr.Read() Then
    buff = TryCast(rdr.Item(1), Byte())
    If buff IsNot Nothing Then
        Using ms As New MemoryStream(buff)
            pBox.Image = Image.FromStream(ms)
        End Using
    End If
End If

首先,TryCast尝试将字段数据转换为Byte(),以避免出现异常,如果只有某些行为它们提供图像数据的话。如果转换正常,则使用Byte()创建图像,并将其分配给PictureBox.Image属性。这可能与您如何将数据导入DB的方式相反。

请注意,您已经创建了一个新的Image,所以当您完成它时,也要由您来处理它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39525623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档