嗨,我正在創建網上商店。在此shope人在線必須購買帶有zip擴展名的文件。他們用自己的信用卡或其他方式獲得鑰匙並下載產品。我怎樣才能知道他們何時完成產品下載? 謝謝如何知道何時下載完成
回答
可惜的是沒有真正這樣做,因爲有些客戶可能無法下載文件一次(例如Downloadmanagers拆分下載分成幾個部分parralel下載)好辦法。
選項包括:
- 如果這對你很重要的,它只能下載一次:你可以簡單地 不支持恢復。然後,你可以 (只要最後一個字節 已發送)日誌,如果該文件完全被 下載。如果下載量很小,這可能效果不錯。
- 否則你可以提供一些優雅 數據(我們通常允許下載 客戶端下載5倍大小的實際下載的 ),並記錄每個 下載嘗試。
您不應該只計算下載的字節數(因爲下載可能會中斷)。而且不只是確定是否所有章節已被下載一次(也是因爲下載可能會中斷)
只是爲了澄清:這一切都意味着你必須寫自己的下載處理程序(文件服務器)。
您可以使用自定義文件服務器在http或ftp上工作,並讓客戶端收到最後一個文件片段後發送通知。
所有其他選項都有問題;客戶端可能會使用下載管理器下載文件,因此如果有任何瀏覽器事件,您甚至無法註冊。
顯然你的回答要求自定義文件服務器不支持恢復。 – Foxfire 2009-10-18 09:45:20
自定義服務器應用程序似乎確實是一個解決方案, 或可能某種腳本。
一個正常的HTTP服務器不通知的連接, 結束,但有可能,如果您生成的CGI/PHP/ASP/*腳本輸出, 您閱讀CGI文件/ PHP/ASP/*腳本語言和 發送到輸出。當您到達文件末尾時,您會通過 執行通知,然後結束腳本。
當你這樣做,它只會檢測到完全下載的文件, ,如果連接中途中斷,它不會標記 該文件被下載。
一個「CGI腳本」可以是編譯的C程序,(或就此而言的任何其他的langauge )。無論如何編譯代碼。編譯的程序 將會提供更好的性能,然後解釋腳本解決方案。
- 1. 如何知道何時下載完成?
- 2. 如何知道下載是否完成
- 3. 如何知道何時從URL下載完成?
- 4. 如何知道OneDrive後臺下載何時完成?
- 5. 如何知道文件下載何時完成?
- 6. 如何知道iPhone下載何時完成?
- 7. 如何知道iframe已完成加載?
- 8. 如何知道UIWebView已完成加載
- 9. 如何知道FileSystemWatcher何時完成
- 10. 如何知道dllmain何時完成?
- 11. 如何知道Core Animation何時完成?
- 12. 如何知道ScheduledExecutorService何時完成
- 13. 如何知道FileSystem.CopyDirectory何時完成?
- 14. 我如何知道location.reload()何時完成?
- 15. 如何知道dd何時完成
- 16. writeToFile如何知道它何時完成
- 17. 如何知道何時安裝完成?
- 18. 如何知道綁定何時完成?
- 19. 如何知道IntentService何時完成?
- 20. 如何知道appcache何時完成?
- 21. 我如何知道kendo樹視圖何時加載完成
- 22. 如何知道NSData的initWithContentsOfURL何時完成加載。
- 23. 我如何知道kml中的GroundOverlays何時完成加載?
- 24. 如何知道ajax加載內容何時完成?
- 25. 如何知道何時完成加載頁面?
- 26. 如何知道UIimageView何時完成加載?
- 27. 如何知道NSTableView何時完成(重新)加載其內容?
- 28. 如何知道ImageView何時完成加載圖像?
- 29. 如何知道UIWebView何時完成對上下文的繪製?
- 30. 如何知道完成服務何時完成交付結果?
您可以檢測到它們觸發了下載,但是如果它們完成了下載,則不會。除非有人反對,否則我很樂意知道。 – 2009-10-18 09:10:09