我正在从数据库中检索图像并使用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;
}
答案 0 :(得分:2)
您可以将图像保存在驱动器上的某个本地文件夹中,然后将其路径保存在DataBase中。当您想要检索时,您可以从DB获取路径并从该路径读取图像文件。
byte[] img = Files.readAllBytes(Path);
答案 1 :(得分:0)
我猜图像不会改变,因此添加缓存将为您节省数据库的往返。或者将图像保存在磁盘而不是数据库上也会有所帮助。