Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在服务器上存储和检索图像的最佳方法_Javascript_Asp.net_Html_Sql Server_Image - Fatal编程技术网

Javascript 在服务器上存储和检索图像的最佳方法

Javascript 在服务器上存储和检索图像的最佳方法,javascript,asp.net,html,sql-server,image,Javascript,Asp.net,Html,Sql Server,Image,我一直在使用sqlserver和asp.net来存储和检索图像。但我认为每次浏览数据库和检索文件似乎都需要大量资源。然而,若我存储在服务器上的文件夹中的图像将是正确的和标准的还是不?是否有其他解决方法和一些专业建议?将图像存储在文件系统中,(根据图像的哈希重新命名)(md5有机会,试试SHA1或RIPEMD-160),将哈希作为索引存储在数据库中,以及所有“元”数据(源ip、原始名称、维度、上传者/作者等)您希望链接/存储该图像 但这只是一种方式,最佳方式取决于你的具体情况 编辑: 我在某些情况

我一直在使用sqlserver和asp.net来存储和检索图像。但我认为每次浏览数据库和检索文件似乎都需要大量资源。然而,若我存储在服务器上的文件夹中的图像将是正确的和标准的还是不?是否有其他解决方法和一些专业建议?

将图像存储在文件系统中,(根据图像的哈希重新命名)(md5有机会,试试SHA1或RIPEMD-160),将哈希作为索引存储在数据库中,以及所有“元”数据(源ip、原始名称、维度、上传者/作者等)您希望链接/存储该图像

但这只是一种方式,最佳方式取决于你的具体情况

编辑:
我在某些情况下使用了一种变体:md5(固定长度哈希输出)附加了crc32(固定长度哈希输出)。与160位散列相比,这仍然是相同的总输出大小,但我认为冲突的可能性最小(可能不存在,但是,如果您实际发现两个不同的文件具有相同的md5和crc32,您可以收集5分钟的互联网声誉)。
然后我使用base64编码降低了文件名的长度。最重要的是,当您向系统添加/上传图像时,“计算开销”就会发生。
例如,使用md5
D8A4608D42C38EAD3139B0896212311
和crc32
ed108bd0
(变为
D8A4608D42C38EAD3139B0896212311ED108BD0
)的文件在base64中给出
2KRgjULDjq0xQ5sIliEjEe0Qi9A=

以较长的文件名为“代价”,这样做有一个很好的好处,即即使在thumbs和它们的高分辨率版本之间,生成的文件名也很难预测


祝你好运

将图像上传到文件夹并链接到该文件夹有什么问题?没有最佳方法。。沃尔特。。但是我不知道如何命名图像文件??如果重复请求相同的图像,则任何建议Memcache都可能有所帮助,前提是您有2-3 GB的可用RAM