即時讀取並回顯正在寫入的上傳檔案的檔案大小
雖然檔案上傳是一項常見任務,但它可能具有挑戰性顯示進度資訊而不阻塞伺服器和客戶端。本文討論如何結合使用伺服器端和客戶端技術來實現此目的。
背景
考慮一個應用程序,其中使用以下命令將檔案上傳到伺服器fetch(),主體設定為 Blob、File、TypedArray 或 ArrayBuffer 物件。目標是即時讀取並回顯上傳檔案的檔案大小,以便客戶端可以在伺服器上寫入檔案時顯示進度。
伺服器端實作(例如, PHP)
伺服器端實作涉及兩個腳本:「data.php」用於將檔案寫入伺服器,「stream. php”用於將檔案大小串流傳輸到客戶端。
data.php:
stream.php:
客戶端實作🎜>客戶端實作(例如,JavaScript)
客戶端實作使用fetch() 上傳文件,並使用EventSource 從伺服器接收文件大小更新。
其他注意事項
為了處理檔案寫入或讀取的潛在問題,可以合併錯誤處理機制。此外,清除檔案大小快取以確保準確的檔案大小更新也很重要。
結論
按照以下步驟,您可以實現即時檔案大小讀取並回顯上傳的文件,而不會阻塞伺服器或客戶端。這可以在客戶端和伺服器端實現文件上傳的無縫進度追蹤。
以上是如何即時讀取並回顯上傳檔案的檔案大小?的詳細內容。更多資訊請關注PHP中文網其他相關文章!