您好,登錄后才能下訂單哦!
這篇文章主要介紹“javascript之分片上傳,斷點續傳的方法”,在日常操作中,相信很多人在javascript之分片上傳,斷點續傳的方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”javascript之分片上傳,斷點續傳的方法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
原理:文件上傳就是把文件切割成一個個小小的塊,然后塊逐一上傳
后臺約定接口:
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之分片上傳,斷點續傳的方法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。