js上傳檔案時,如何實時顯示上傳進度,上傳速度?

時間 2021-05-31 16:33:57

1樓:182

ProgressEvent

bubbles:false

cancelBubble:false

cancelable:false

composed:false

currentTarget:XMLHttpRequestdefaultPrevented:falseeventPhase:0

isTrusted:true

lengthComputable:trueloaded:7355

path:

returnValue:true

srcElement:XMLHttpRequesttarget:XMLHttpRequesttimeStamp:741354.2999999991total:7355

type:"loadend"

__proto__:ProgressEvent

2樓:顧軼靈

用了 Flash 吧。

JS 的解決方案也是有的。

第一是通過輪詢或是長連線的方式在上傳檔案的同時用 AJAX 去讀取。這需要後端提供讀取檔案上傳進度的介面。這個方案顯得很笨重,所以一般還是採用 Flash 的解決方案。

第二種,XMLHttpRequest Level 2 已經支援用 AJAX 直接傳輸檔案,並且提供了 onprogress、onloadstart 等事件來跟蹤進度。事件的 ProgressEvent 引數(http://

dvcs.w3.org/hg/progress

/raw-file/tip/Overview.html#progressevent

)中提供了 loaded 和 total 可以用來計算百分比。但是很遺憾的是上有很大市場份額的瀏覽器不支援(也就是主要指 IE,可以參考 http://

),仍需用 Flash 提供相容方案。所以與其開發兩套同樣的功能,一般還是選擇比較穩妥的 Flash 方案。iOS 不能上傳本地檔案,所以 Flash 方案應該能覆蓋絕大多數的客戶端了。

前端上傳檔案實時顯示進度條和上傳速度的工作原理是怎樣的?

7ools 或者這麼問,XMLHttpRequest 中的 onprogress和upload.onprogress事件,傳送方是誰 朗朗 我用過大檔案上傳外掛程式,以我的理解大概是這樣的,由於上傳請求服務端有限制,一般才幾個MB,而且上傳不能中斷,斷了要重新來。所以外掛程式是這麼處理的,先在前端用...

如何快速的從電腦上傳檔案到外部硬碟?

傳輸大型資料夾時 零散小檔案問題,機械硬碟的隨機性能不行。硬碟和行動硬碟都換SSD會有很大提公升。單換行動硬碟或者單換機箱內的機械硬碟。效果應該不明顯。 smallboat 支援 程亞洲 的回答,檔案拷貝時,同樣大小的單個檔案和許多個檔案拷貝速度相差很大。比如1個4GB檔案和4000個1MB檔案的拷...

群暉裡如何上傳備份整個資料夾?

可以使用備份和同步功能上傳資料夾,不僅支援將檔案上傳到群暉,還支援將群暉拷貝到其他硬碟或其他NAS等。備份和同步的區別在於 同步得到的適合源資料夾一模一樣的檔案,包括下面的子目錄,甚至還可以排除或者指定特定格式的檔案,比如不同步.doc的檔案,只同步.ppt的檔案等 備份得到的檔案要經過還原才可以使...