2008-11-10 40 views
1

我有一個項目,需要一個相當複雜的過程,我想確保我知道最好的方法來做到這一點。我正在使用ASP.net C#和Adobe Flex 3.應用程序服務器是Mosso(雲服務器),文件存儲服務器是Amazon S3。現有的網站可以在NoiseTrade.com多個MP3的自動壓縮的最佳過程

查看我需要這樣做:

  • 允許用戶將MP3文件上傳到 專輯「小部件」
  • 用戶上傳他們的 相冊/插件後,我需要 自動壓縮的MP3(其他 用戶下載),並上傳 壓縮與MP3曲目一起 亞馬遜S3

我實際上已經在使用這個工具(在Flex中使用客戶端處理),但由於Adobe的Flash 10「安全性」更新,此功能不再有效。所以現在我需要實現這個服務器端。

我想這樣做的方式是:

  • Store中的應用程序服務器
  • 當藝術家「發佈」創建 拉鍊,該文件的MP3在臨時文件夾 使用C#庫文件夾
  • 啓動亞馬遜S3上傳過程(壓縮和MP3) 和向用戶發送電子郵件時,它是 完成(以及刪除 臨時文件夾)

我用這種方法看到的主要問題是,如果用戶稍後刪除或添加了一條曲目,我將不得不更新zip文件,但臨時文件將不再存在。

我不知道這樣做的最佳方式,並會感謝您可能有的任何建議。

謝謝!

+0

感謝您的輸入!爲了澄清,壓縮是必不可少的,因爲這是藝術家的粉絲在通過小部件「註冊」時將下載的內容。要查看我正在討論的小部件,請訪問noisetrade.com。 – Mark 2008-11-10 18:00:15

回答

1

有關更新zip但沒有臨時文件(如果用戶添加或刪除軌道)的一點讓我懷疑您想要構建包含多個軌道的zip,可能是完整的相冊。如果這是不正確的,你只是把一個單一的MP3到每個壓縮文件,然後StingyJack是正確的,你可能會最終通過壓縮文件(略)而不是較小。

如果我的解釋是正確的,那麼你很幸運。命令行壓縮工具通常具有可用於向現有zip歸檔文件添加或刪除文件的標誌。你還沒有說明你正在使用哪種庫或其他方法來進行壓縮,但我預計它也可能具有此功能。

0

MP3的壓縮。爲什麼打擾他們呢?

+0

,因爲您可以用這種方式將多個文件組合在一起,但實際上您只能從更簡單的.tar格式獲得相同的功能。 – 2008-11-10 17:26:04

+0

是的,通過簡單的一鍵下載,而不是逐行跟蹤,爲藝術家的粉絲提供壓縮。 – Mark 2008-11-10 18:03:06

0

我會說沒有必要壓縮一個壓縮的文件格式,你只是想把文件大小減少5%,給一點或者少一點。 Mp3不會真正壓縮它們的性質,已經壓縮了大部分可能的數據。

0

DotNetZip可以壓縮來自C#/ ASP.NET的文件。我同意之前有關MP3可壓縮性的海報。 DotNetZip會自動跳過壓縮在MP3上,只是爲了這個原因存儲文件。除壓縮之外,使用zip作爲包裝/歸檔容器仍然可能很有趣。

如果稍後更改壓縮文件(用戶添加音軌),則可以從S3抓取.zip文件,然後對其進行更新。 DotNetZip也可以更新zip文件。但在這種情況下,您將不得不支付轉入和轉出S3的轉賬成本。

DotNetZip可以通過內存中的zip處理來完成所有這些操作 - 儘管對於擁有大量MP3和大量併發用戶的大型存檔來說,這可能不太可行。