当前位置:  开发笔记 > 编程语言 > 正文

C#将图像保存为Mybql数据库为blob

如何解决《C#将图像保存为Mybql数据库为blob》经验,为你挑选了0个好方法。

出于某种原因,当我尝试为用户更新图像时,我的代码失败了.图像未正确保存.例如,38 kib的图像在数据库中保存为13个字节.

这是我的代码:

    public void UploadImage(Image img)
    {
        OpenConnection();
        MySqlCommand command = new MySqlCommand("", conn);
        command.CommandText = "UPDATE User SET UserImage = '@UserImage' WHERE UserID = '" + UserID.globalUserID + "';";
        byte[] data = imageToByte(img);
        MySqlParameter blob = new MySqlParameter("@UserImage", MySqlDbType.Blob, data.Length);
        blob.Value = data;

        command.Parameters.Add(blob);

        command.ExecuteNonQuery();
        CloseConnection();
    }

    public byte[] imageToByte(Image img)
    {
        using (var ms = new MemoryStream())
        {
            img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
            return ms.ToArray();
        }
    }

OpenConnection和closeconnection只是conn.Open()和conn.Close().

但转换不会失败:在此输入图像描述

但是在数据库中我看到了这个:在此输入图像描述

有谁知道这里发生了什么?

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有