欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

HTML5怎么實(shí)現(xiàn)文件斷點(diǎn)續(xù)傳功能

這篇“HTML5怎么實(shí)現(xiàn)文件斷點(diǎn)續(xù)傳功能”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“HTML5怎么實(shí)現(xiàn)文件斷點(diǎn)續(xù)傳功能”文章吧。

創(chuàng)新互聯(lián)專注于忠縣企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站建設(shè)。忠縣網(wǎng)站建設(shè)公司,為忠縣等地區(qū)提供建站服務(wù)。全流程按需制作網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

HTML5的FILE api,有一個(gè)slice方法,可以將BLOB對(duì)象進(jìn)行分割。前端通過FileList對(duì)象獲取到相應(yīng)的文件,按照指定的分割方式將大文件分段,然后一段一段地傳給后端,后端再按順序一段段將文件進(jìn)行拼接。

斷點(diǎn)續(xù)傳原理

目前比較常用的斷點(diǎn)續(xù)傳的方法有兩種,一種是通過websocket接口進(jìn)行文件上傳,另一種是通過ajax,兩種方法各有千秋,雖然websocket聽起來比較高端些,但是除了用了不同的協(xié)議外其他的算法基本上都是很相似的,并且服務(wù)端要開啟ws接口,這里用相對(duì)方便的ajax來說明斷點(diǎn)上傳的思路。

說來說去,斷點(diǎn)續(xù)傳最核心的內(nèi)容就是把文件“切片”然后再一片一片的傳給服務(wù)器,但是這看似簡(jiǎn)單的上傳過程卻有著無數(shù)的坑。

首先是文件的識(shí)別,一個(gè)文件被分成了若干份之后如何告訴服務(wù)器你切了多少塊,以及最終服務(wù)器應(yīng)該如何把你上傳上去的文件進(jìn)行合并,這都是要考慮的。

因此在文件開始上傳之前,我們和服務(wù)器要有一個(gè)“握手”的過程,告訴服務(wù)器文件信息,然后和服務(wù)器約定切片的大小,當(dāng)和服務(wù)器達(dá)成共識(shí)之后就可以開始后續(xù)的文件傳輸了。

前臺(tái)要把每一塊的文件傳給后臺(tái),成功之后前端和后端都要標(biāo)識(shí)一下,以便后續(xù)的斷點(diǎn)。

當(dāng)文件傳輸中斷之后用戶再次選擇文件就可以通過標(biāo)識(shí)來判斷文件是否已經(jīng)上傳了一部分,如果是的話,那么我們可以接著上次的進(jìn)度繼續(xù)傳文件,以達(dá)到續(xù)傳的功能。

文件的前端切片

有了HTML5 的 File api之后切割文件比想象的要簡(jiǎn)單的多。

只要用slice 方法就可以了

var packet = file.slice(start, end);

參數(shù)start是開始切片的位置,end是切片結(jié)束的位置 單位都是字節(jié)。通過控制start和end 就可以是實(shí)現(xiàn)文件的分塊

如:

file.slice(0,1000); 
file.slice(1000,2000); 
file.slice(2000,3000); 
// ......

文件片段的上傳

上一部我們通過slice方法把文件分成了若干塊,接下來要做的事情就是把這些碎片傳到服務(wù)器上。

這里我們用ajax的post請(qǐng)求來實(shí)現(xiàn)

var xhr = new XMLHttpRequest(); 
var url = xxx // 文件上傳的地址 可以包括文件的參數(shù) 如文件名稱 分塊數(shù)等以便后臺(tái)處理 
xhr.open('POST', url, true); 
xhr.onload = function (e){ 
     // 判斷文件是否上傳成功,如果成功繼續(xù)上傳下一塊,如果失敗重試該快 
} 
xhr.upload.onprogress = function(e){ 
     // 選用 如果文件分塊大小較大 可以通過該方法判斷單片文件具體的上傳進(jìn)度 
     // e.loaded  該片文件上傳了多少 
     // e.totalSize 該片文件的總共大小 
} 
xhr.send(packet);

文件上傳到后臺(tái)后,后臺(tái)程序如PHP會(huì)做出相應(yīng)的處理。

以上就是關(guān)于“HTML5怎么實(shí)現(xiàn)文件斷點(diǎn)續(xù)傳功能”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)頁名稱:HTML5怎么實(shí)現(xiàn)文件斷點(diǎn)續(xù)傳功能
路徑分享:http://aaarwkj.com/article46/ipdghg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、網(wǎng)站建設(shè)、域名注冊(cè)網(wǎng)站改版、電子商務(wù)品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計(jì)公司
亚洲天堂av成人在线观看| 欧美精品日韩中文字幕在| 日本不卡二区高清三区| 亚洲欧美激情国产综合久久| 国产口爆一区二区三区| 麻豆黄片在线免费观看| 日日激情综合久久一区| 日韩久久精品国产亚洲av成人| 视频在线免费观看97| 国欧美一区二区三区| 亚洲中文字幕精品视频乱码| av永久免费观看网站| 欧美乱码中文字幕在线观看 | 日韩精品一区二区三区高清| 国产久精品热看久品热久热| 黑寡妇精品欧美一区二区毛| 亚洲综合av一区二区三区四区| 国产有码日产一区在线观看| 国产老熟女高潮一区二区| 中国日本欧美最黄大片| 人妻一区二区三区免看| 一区二区三区三级视频| 性生活视性生活大片日本| 女同欲望一区二区三区久久| 亚洲国产精品一区二区三| 日韩精品欧美精品一区二区| 国产男女免费操作视频| 午夜影院免费在线观看五分钟| 精品av一区二区在线| 国产无遮挡的免费视频| 欧美a级黄片免费在线观看| 成人色视频免费在线观看| 亚洲av成人精品日韩一区麻豆 | 亚洲中文字幕第11页| 国产一区二区日本在线| 日本一区二区三区中文字幕不卡| 国产看片色网站亚洲av| 国产亚洲欧美精品久久久久久| 麻豆成人三级电影在线| 欧美色高清视频在线播放| 亚洲小视频免费在线观看|