国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

javascript之分片上傳,斷點續傳的實際項目實現詳解

2019-11-19 10:52:57
字體:
來源:轉載
供稿:網友

總所周知,上傳大文件時由于各種原因突然中斷,然后整個文件需要從頭開始上傳,這種情況非常令人抓狂??,那么怎樣才可以避免這種尷尬的情況呢?分片上傳或許可以搞定這個痛點

原理:文件上傳就是把文件切割成一個個小小的塊,然后塊逐一上傳

后臺約定接口:

1.getRestChunkInfo 獲取當前文件的上傳情況

輸入:{fileName, fileSize, md5, token}

輸出:{chunk_list, chunk_size, chunk_count}

chunk_list是一個數組,未上傳塊的編號等信息,

chunk_size:分片的大小,

chunk_count:分片的總次數,

2.uploadAPI

輸入:FormData對象,塊的具體信息

{file_name, file_size, file_md5, token}

輸出:一個對象,包含true/false

步驟:

1.獲取需要上傳的文件,用md5算法做消息摘要,就是md5碼作為文件的唯一標識

2.將md5碼、文件名、文件大小、token值作為輸入參數傳給后臺第一個API

3.接口返回chunk_list等參數,用chunk_list.shift取分片繼續調用第二個接口,一片一片上傳文件塊

4.所有文件上傳完成后,為了防止中間有出錯的分片,在次請求第一個接口,如果chunk_list的length為0,則說明所有分片上傳成功

完成上面的步驟后,后臺在確認所有的分片上傳完成后,就可以進行文件合并了。

圖解:

其中token值不是必傳參數,僅僅是系統為了防止CSRF攻擊,出于安全考慮的。Note:安全考慮還有加簽驗簽功能

難點:

1.如何切片,使用Blob對象的slice方法  blob.slice(startByte,endByte);

2.當前文件已上傳的片數,然后保證我從哪一片開始上傳

以上就是本次介紹的關于javascript之分片上傳,斷點續傳的實際項目實現的全部知識點內容,有需要的朋友們可以學習下。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: SHOW| 神池县| 亚东县| 天台县| 上饶县| 北票市| 闻喜县| 正定县| 龙岩市| 临桂县| 龙游县| 雷波县| 井陉县| 云龙县| 绥阳县| 普陀区| 中超| 新宁县| 右玉县| 始兴县| 新河县| 内江市| 娱乐| 洪江市| 同德县| 临汾市| 班戈县| 清徐县| 张家口市| 八宿县| 中方县| 嵊泗县| 新龙县| 方正县| 乌拉特后旗| 东兴市| 年辖:市辖区| 南漳县| 罗定市| 乡城县| 芦溪县|