我有一个项目需要一个相当复杂的过程,我想确保我知道最好的方法。我正在使用ASP.net C#和Adobe Flex 3.应用服务器是Mosso(云服务器),文件存储服务器是Amazon S3。可以在NoiseTrade.com
查看现有网站我需要这样做:
我实际上已经有了这个工作(在Flex中使用客户端处理),但由于Adobe的Flash 10“安全性”更新,这不再有效。所以现在我需要实现这个服务器端。
我想这样做的方式是:
我用这种方法看到的主要问题是,如果用户稍后删除或添加曲目,我将不得不更新zip文件,但临时文件将不再存在。
我最擅长这样做,并希望得到任何建议。
谢谢!
答案 0 :(得分:1)
如果用户添加或删除某个曲目,有关更新zip但没有临时文件的信息会导致我怀疑您要构建包含多个曲目的拉链,可能是完整的专辑。如果这是不正确的,你只是将一个mp3放入每个zip中,那么StingyJack是正确的,你可能最终会通过压缩它来使文件(稍微)更大而不是更小。< / p>
如果我的解释是正确的,那么你很幸运。命令行zip工具通常具有标志,可用于向现有zip存档添加文件或从中删除文件。你还没有说明你使用哪种库或其他方法来进行压缩,但我希望它也可能具有这种功能。
答案 1 :(得分:0)
MP3已被压缩。为什么要打扰他们?
答案 2 :(得分:0)
我想说没有必要压缩压缩文件格式,你只需要减少5%的文件大小,给予或采取一点点。 Mp3并没有真正压缩它已经压缩了大部分可能的数据。
答案 3 :(得分:0)
DotNetZip可以压缩C#/ ASP.NET中的文件。我同意之前有关MP3可压缩性的海报。因为这个原因,DotNetZip将自动跳过压缩MP3,并只存储文件。除了压缩之外,使用zip作为打包/存档容器仍然是有趣的。
如果您稍后更改了zip文件(用户添加了一个曲目),您可以从S3获取.zip文件,然后只需更新它。 DotNetZip也可以更新zip文件。但在这种情况下,您必须支付转入和转出S3的转移成本。
DotNetZip可以通过内存处理拉链来完成所有这些工作 - 尽管这对于拥有大量MP3和大量并发用户的大型档案来说可能并不可行。