繁体   English   中英

使用vb.net从MySQL检索BLOB而不使用PictureBox

[英]Retrieve BLOB from MySQL with vb.net not using picturebox

这似乎是一个琐碎的问题,但是我一直在寻找一个合理的解释,并试图自己破译这个问题,但几乎没有成功。 我希望检索存储在MySql数据库中的Blob,将其呈现为图像,并在关联的ASPX页面中将其显示为图像。 我没有使用图片框。 如果有我没看过的资源,我将接受它作为答案并为重复的问题表示歉意。 我不需要建立连接的帮助。

编辑:这是我最近使用的东西,除了将文件流传送到我无权向其写入文件的目录之外。 错误发生在Image.FromStream(lstr)

    Dim Query As String = "Select PIC from USERS where ID = 1"

    Dim adapter As New MySql.Data.MySqlClient.MySqlDataAdapter

    adapter.SelectCommand = New MySql.Data.MySqlClient.MySqlCommand(Query, connection)

    Dim Data As New DataTable

    Dim commandbuild As New MySql.Data.MySqlClient.MySqlCommandBuilder(adapter)

    adapter.Fill(data)


    Dim lb() As Byte = Data.Rows(Data.Rows.Count - 1).Item("PIC")
    Dim lstr As New System.IO.MemoryStream(lb)
    Dim X As Image = Image.FromStream(lstr)
    lstr.Close()

    Return X

在这种情况下, http : //msdn.microsoft.com/en-us/library/93z9ee4x.aspx表示您必须在Image的生存期内保持流打开。

所以你必须删除lstr.Close()

您可以在不再需要lstr后再进行处理。

再次编辑:

改变了这个

Dim lstr As New System.IO.MemoryStream(lb)
Dim X As Image = Image.FromStream(lstr)
lstr.Close()

Dim lstr As New System.IO.MemoryStream(lb)
Dim X As Image = Image.FromStream(lstr)
Dim X2 As Image = X
x.Dispose
lstr.Close()

那么您可以使用X2作为图像

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM