例如你有一个2M的图片。
如果用内置的ftp管理:
1、会自动检查之前是否显示过这个图片,如果显示过,会比较本地的图片和服务器的图片,如果服务器的图片和本地一样,则直接显示本地的图片,无需重新下载。这就是本地缓存。
2、如果窗口的图片管理器或PictureBox绑定到这个图片列,在显示这个图片的过程,你可以进行其他操作,这就是异步显示。
3、你甚至可以中断显示切换到其他行,下次再回到这一行,会从上次中断的位置重新下载,而不是全部重新下载,这就是断点续传。
4、一个单元格可以插入多个文件
如果使用二进制列:
1、你通过SQLLoadImage或SQLLoadFile提取这个文件的时候,没有办法本地缓存,必须每次都从数据库中完整提取这个文件。
2、在提取过程中,你也没有办法进行其他操作,也没办法中断提取切换到其他行。
3、也不能一个单元格插入多个文件。
4、但是你不用搭建FTP,保密性也更好。
本地缓存可以自己编码实现,设计思路:数据表增加一列,记录文件的crc值,提取文件前,计算本地文件的crc值,和数据库的比较,如果相同,直接使用本地的文件,否则重新提取。
所以在网速比较快,文件小巧精干的时候,用二进制列是可以的,多数时候,还是用FTP更合适。
[此贴子已经被作者于2014-9-22 9:47:44编辑过]