2010-07-01 71 views
1

可能重複:
HTML Compress File Upload?如何在(上傳)之前壓縮100 MB文件,以便上傳速度可以提高?

我從我的網站正在採取更多的時間來上傳100 MB的時間(我知道這肯定需要更多的是因爲這時候客戶投訴大小),因此我打算上傳文件,以便在上傳之前將其壓縮,然後上傳到所需位置,然後在刪除壓縮格式上傳文件的同時解壓縮。

那麼任何人都可以建議我如何進一步?

我使用PHP,有上傳文件,它只是與常規文件上傳functionalty形式沒有笨拙的代碼...

編輯我怎麼能Silverlight的整合爲此,在PHP?

請幫助

+1

和http://stackoverflow.com/questions/1864908/compress-file-before-upload-via-http – Palantir 2010-07-01 06:50:34

+0

我可能是錯誤的,但我認爲服務器配置爲「接受編碼」或「內容編碼「可能值得探索。我也會把這個問題發佈到serverfault.com。在啓動傳輸時,您可能必須在上傳文件的頁面上設置請求標頭。這會讓我感到奇怪的是,支持'gzip,deflate'的瀏覽器和支持'gzip,deflate'的服務器無法協商壓縮文件上傳。 – Andrew 2010-07-01 07:03:43

+0

還有一個想法......我看到[nochump.com](http://nochump.com/blog/archives/15)有一個Adobe Air庫,可以實時壓縮和解壓縮文件。如果你沒有足夠的客戶來證明自定義的上傳者,這可能是一個很好的解決方案。這對他們來說很簡單,你可以使用你現有的所有服務器端代碼。 – Andrew 2010-07-01 07:15:39

回答

2

有沒有辦法來處理這樣的文件,一個普通的HTML表單和PHP腳本。出於某種原因,使用瀏覽器的沙箱,無法訪問客戶端的文件系統。

您可能想要探索一個Java Applet,Silverlight,Flash類型的解決方案,在客戶端可以訪問該文件的內容更豐富。

Here's one example using Silverlight

0

爲了壓縮文件之前上傳它需要在客戶端完成。 PHP在這裏沒有用處,因爲PHP僅在服務器端。

選項1:您要求客戶上傳已經壓縮的文件(看起來像不是你想要的)。選項2:您需要一種方法來通過javascript代碼在服務器端完成它 - 說實話,我懷疑是否有一個簡單的解決方案,如果有的話。也許一個zip數據流可以工作,但對於腳本的特殊權限(f.e.ActiveX)是必需的 - 而今天沒有最新的瀏覽器將允許。

+0

Thanx分析Thariama ...那麼上傳100mb文件沒有延遲的可能解決方案是什麼冷... ...? – 2010-07-01 07:02:49

+0

但如前所述,我懷疑它會適用於新瀏覽器導致的安全問題。在這裏簡單地討論一下:http://www.phpbuilder.com/board/showthread.php?t=10316619 – Thariama 2010-07-01 09:05:29

相關問題