【问题标题】:How to insert image in MySQL Database and retrive it using vb.net?如何在 MySQL 数据库中插入图像并使用 vb.net 检索它?
【发布时间】:2013-02-21 19:05:40
【问题描述】:

我正在使用 longblob 数据类型插入图像,但它给出了错误。

我想将图片从图片框中插入 mysql 数据库。

【问题讨论】:

  • 这是 stackoverflow,不是 pyschicoverflow。发布一些代码并告诉我们您遇到了哪个错误。

标签: mysql sql .net vb.net visual-studio-2008


【解决方案1】:

我这里有一个 c# 实现,但你可以使用 a c# to VB.Net converter

在aspx文件中:

<asp:FileUpload runat="server" ID="fuPersonPicture" />
<asp:Button runat="server" ID="btnPhotoUpload" Text="Upload" OnClick="btnPhotoUpload_Click" />

在代码隐藏中:

protected void btnPhotoUpload_Click(object sender, EventArgs e)
{
    byte[] rawData = new byte[fuPersonPicture.FileBytes.Length];
    int fileSize = fuPersonPicture.FileBytes.Length;
    fuPersonPicture.FileContent.Read(rawData, 0, fileSize);

    string extension = Path.GetExtension(fuPersonPicture.PostedFile.FileName);
    switch (extension.ToLower())
    {
        // Only allow uploads that look like images.
        case ".jpg":
        case ".jpeg":
        case ".gif":
        case ".png":
        case ".bmp":
            System.Drawing.Image myImage = System.Drawing.Image.FromStream(fuPersonPicture.PostedFile.InputStream);

            fuPersonPicture.FileContent.Close();

            PersonPictureManager.Insert(fuPersonPicture.FileName, fileSize, rawData, myImage.Height, myImage.Width);

            //lbUploadMessage.Text = string.Empty;
            break;

        default:
            //lbUploadMessage.Text = "<br>File is not a valid image file (JPG, JPEG, GIF, BMP, PNG).";
            break;
    }
    fuPersonPicture.FileContent.Close();
}

PersonPictureManager.Insert()的定义

public static void Insert(string FileName, int FileSize, byte[] RawData, int ImageHeight, int ImageWidth)
{
        string strSQL = "insert into person_picture (file_id, file_name, file_size, file, width, height) values (NULL, @file_name, @file_size, ?file, @width, @height)";
        using (MySqlCommand cmd = new MySqlCommand(strSQL))
        {
            cmd.Parameters.Add(new MySqlParameter("@file_name", FileName));
            cmd.Parameters.Add(new MySqlParameter("@file_size", FileSize));
            cmd.Parameters.Add(new MySqlParameter("@height", ImageHeight));
            cmd.Parameters.Add(new MySqlParameter("@width", ImageWidth));
            cmd.Parameters.Add(new MySqlParameter("?file", RawData));
            DatabaseConnection.ExecuteNonQuery(cmd); // Just a DB helper class
        }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-06
    • 1970-01-01
    • 1970-01-01
    • 2013-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多