我正在制作一个程序,要求从MySQL数据库表中获取图像的本地目录。 目前,我已经将要检索的图像的目录设置为MySQL表中的C:\\Users\\User\\Pictures\\PictureName.PNG 我编写的方法能够通过Select语句从数据库检索此数据,并将PictureBox图像设置为具有从Select语句检索的路径的新Bitmap

我找不到在线寻找的信息,因为大多数答案都与使用MySQLBLOB字段存储图像有关,但是我的问题是我是否要将数据库也放在服务器上,并且图片也在那里,我的方法可以扩展以适应这些更改吗?还是我必须添加其他功能以使其也可以在服务器上工作?

这是我的代码如下:

public void setImage() {
    string path = sql.RetrieveImage(SelectQuery.RetrievePicture());
    PictureBox1.Image = new Bitmap(path);
}

public string RetrieveImage(Query query) {
    string path = "";

    // OpenDatabaseConnection() will open up a connection to the database
    // through connection and if successful, will return true.
    if (this.OpenDatabaseConnection()) {

        // query.ToSql() returns a string format of the select statement
        // required to retrieve the local image directory 

        using (MySqlCommand cmd = new MySqlCommand(query.ToSql(), connection)) {
            MySqlDataReader dataReader = cmd.ExecuteReader();
            dataReader.Read();
            path = dataReader[0] + "";
            dataReader.Close();
        }

        this.CloseDatabaseConnection();
    }
    return path;
}

===============>>#1 票数:0 已采纳

将图像存储在数据库中是一个坏主意。 存储路径的图像文件是一个更好的路要走,IMO。

这样的SO问题有一些指向真正好的支持信息的链接。

但是,如果必须走那条路线,那么可以,可以使用BLOB字段(或SQLServer中的VarBinary(MAX))。 您可以将这些图像检索为Byte[]数据。

  ask by Hayden translate from so

未解决问题?本站智能推荐: