如何优化从数据库中检索图像?

时间:2012-11-02 10:11:28

标签: c# asp.net

我正在从数据库中检索图像并使用Datalist显示,但图像加载时间很长,因此需要帮助来优化它。这是我的代码:

public byte[] GetPicture(string Id, string state)
{
    byte[] picData = null;

    try
    {
        if (con.State == ConnectionState.Closed)
            this.openConnection();
        strGetImage = string.Format(strGetImage, Id);
        OleDbCommand oledbCommand = new OleDbCommand(strGetImage, con);
        picData = (byte[])(oledbCommand.ExecuteScalar());

               }
    catch (Exception)
    {
    }
    finally
    {
        con.Close();
    }
    return picData;
  }

2 个答案:

答案 0 :(得分:2)

您可以将图像保存在驱动器上的某个本地文件夹中,然后将其路径保存在DataBase中。当您想要检索时,您可以从DB获取路径并从该路径读取图像文件。

byte[] img = Files.readAllBytes(Path);

答案 1 :(得分:0)

我猜图像不会改变,因此添加缓存将为您节省数据库的往返。或者将图像保存在磁盘而不是数据库上也会有所帮助。