Javascript 在服务器上存储和检索图像的最佳方法
我一直在使用sqlserver和asp.net来存储和检索图像。但我认为每次浏览数据库和检索文件似乎都需要大量资源。然而,若我存储在服务器上的文件夹中的图像将是正确的和标准的还是不?是否有其他解决方法和一些专业建议?将图像存储在文件系统中,(根据图像的哈希重新命名)(md5有机会,试试SHA1或RIPEMD-160),将哈希作为索引存储在数据库中,以及所有“元”数据(源ip、原始名称、维度、上传者/作者等)您希望链接/存储该图像 但这只是一种方式,最佳方式取决于你的具体情况 编辑:Javascript 在服务器上存储和检索图像的最佳方法,javascript,asp.net,html,sql-server,image,Javascript,Asp.net,Html,Sql Server,Image,我一直在使用sqlserver和asp.net来存储和检索图像。但我认为每次浏览数据库和检索文件似乎都需要大量资源。然而,若我存储在服务器上的文件夹中的图像将是正确的和标准的还是不?是否有其他解决方法和一些专业建议?将图像存储在文件系统中,(根据图像的哈希重新命名)(md5有机会,试试SHA1或RIPEMD-160),将哈希作为索引存储在数据库中,以及所有“元”数据(源ip、原始名称、维度、上传者/作者等)您希望链接/存储该图像 但这只是一种方式,最佳方式取决于你的具体情况 编辑: 我在某些情况
我在某些情况下使用了一种变体:md5(固定长度哈希输出)附加了crc32(固定长度哈希输出)。与160位散列相比,这仍然是相同的总输出大小,但我认为冲突的可能性最小(可能不存在,但是,如果您实际发现两个不同的文件具有相同的md5和crc32,您可以收集5分钟的互联网声誉)。
然后我使用base64编码降低了文件名的长度。最重要的是,当您向系统添加/上传图像时,“计算开销”就会发生。
例如,使用md5
D8A4608D42C38EAD3139B0896212311
和crc32ed108bd0
(变为D8A4608D42C38EAD3139B0896212311ED108BD0
)的文件在base64中给出2KRgjULDjq0xQ5sIliEjEe0Qi9A=
。以较长的文件名为“代价”,这样做有一个很好的好处,即即使在thumbs和它们的高分辨率版本之间,生成的文件名也很难预测
祝你好运 将图像上传到文件夹并链接到该文件夹有什么问题?没有最佳方法。。沃尔特。。但是我不知道如何命名图像文件??如果重复请求相同的图像,则任何建议Memcache都可能有所帮助,前提是您有2-3 GB的可用RAM