【发布时间】:2015-02-10 00:11:33
【问题描述】:
我正在开发一个网站,该网站将托管数千个用户上传的 .png、.jpeg 和 .gif 格式的图像。
由于会有如此大量的图像,因此每个文件仅节省几 kb 的空间最终将意味着相当多的总存储需求。
我的第一个想法是在存储文件的文件夹上启用 Windows 文件夹压缩(使用 Windows / IIS 服务器)。在总共 1Gb 的数据上,节省的总空间约为 200kb。
这对我来说似乎是一个糟糕的结果。因此,我去检查是否可以调整 windows 文件夹压缩,但根据这篇文章它不能是:NTFS compressed folders
我的下一个想法是,我可以使用诸如Seven Zip Sharp 之类的库在保存文件时单独压缩文件。但在我这样做之前,我在几张图像上测试了几个不同的压缩程序。
7Mb .gif 上的结果是这样的
7z, Compress to .z7 = 1kb space saved
7z, Compress to .zip = 2kb space INCREASE
windows, native zip = 4kb space saved.
所以这给我留下了两个想法..我使用的压缩程序不是很好,或者图像已经尽可能压缩了(..我很惊讶内置的 windows压缩比7z好)。
所以我的问题是,有什么方法可以减小由上面列出的图像格式组成的图像存档的文件大小?
【问题讨论】:
-
您基本上只能压缩额外的:路径和图像标题。休息(数据)已经被压缩。使用更先进的压缩技术可以压缩更多,但不要期望任何合理的东西。如果你有
bmp文件,那么是的,压缩文件夹会做得很好。但是,如果您不关心原始文件的内容,那么将 bmp 转换为 jpg/png 可能会给您带来比普通的zip更多的信息。如果你已经有 jpg/png,那么你什么都做不了。