什麼方法可以讓用戶將大文件從webbrowser上傳到服務器?我說的是200MB +可能達到幾個gigatyes。我一直在想這個問題的一些可能的解決方案(還沒有嘗試過),這基本上是我想出的事情。服務器下載速度不會成爲問題,但用戶連接可能會發生。通過網頁上傳大文件
在用Java或Flash編寫的客戶端上有一些applet,它將部分文件(這是applet的可能)發送到服務器上的php/other腳本以及校驗和+關於該文件的其他一些信息。在服務器腳本上,所有部分和信息文件都保存在臨時目錄中,該臨時目錄具有基於文件校驗和和用戶IP的唯一名稱。當最後一個塊被髮送時,小應用程序向服務器發送一個信號,告訴服務器完成並且服務器將文件放在正確的位置。如果一個塊與該部分的校驗和不匹配,則服務器將向該小程序發送一個響應,告訴它重新上傳該塊。我不知道校驗和檢查有多重要,因爲它全部是tcpackages,有更多migig的人能夠回答這個問題。
這可能是最糟糕的方式,更改服務器上的設置以允許通過輸入實現巨大的文件上傳。像正常轉移一樣。
使用一個上傳管理器,它和我上面提到的小程序幾乎完全相同。
第一個優點可能是它最有可能是相當安全的,你也可以顯示進度,並且如果ip沒有改變並且可以恢復上傳,並且可以進行線程上傳的塊。第一個缺點是用戶需要使用flash/java才能工作。第二個優點是它對於每個人來說都是非常有用的,但是利弊很大,首先無法恢復入侵的下載,如果出現問題,整個文件將不得不重新上傳,這只是其中的一小部分。對於第三者來說,專業人士與第一名相似,但缺點是用戶必須將應用程序下載到他們的計算機並運行,並且應用程序必須與他們的計算機和操作系統兼容。
另一種方式可能是兩者的組合。讓我們說一個更大或更多文件的小程序,以及一個簡單的輸入,這個輸入對於較小的文件和可拼接性而言可能最大爲10-20MB。
有可能有其他更聰明的方法來解決這個問題,這就是爲什麼我要求在這裏的建議。
你有沒有考慮過使用FTP呢? – BalusC 2010-04-10 00:28:16
是的,但它的含義是對用戶來說很簡單。有沒有一種簡單的方法來實現瀏覽器的ftp? – Hultner 2010-04-10 17:59:27