普通的瀏覽器下載

在web開(kāi)發(fā)中,如果要實(shí)現(xiàn)下載功能,往往都是使用新開(kāi)web頁(yè)面或者是使用iframe的形式。實(shí)現(xiàn)起來(lái)其實(shí)很簡(jiǎn)單:

<a target="_blank" href="download.zip">點(diǎn)擊下載</a>或者<iframe style="display:none" src="download.zip"></iframe>

用戶點(diǎn)擊a標(biāo)簽彈出一個(gè)新頁(yè)簽后,或者是打開(kāi)了iframe后,瀏覽器就會(huì)接受一個(gè)下載響應(yīng),并下載附件。其實(shí)所謂附件下載,就是在瀏覽器讀到響應(yīng)報(bào)文的頭之后,瀏覽器生成一個(gè)下載提示框,在用戶確定后會(huì)繼續(xù)下載文件。文件其實(shí)就是個(gè)流,所謂流就是一個(gè)傳輸?shù)倪^(guò)程,瀏覽器會(huì)自動(dòng)管理這個(gè)傳輸過(guò)程,會(huì)自動(dòng)生成進(jìn)度條、停止下載按鈕、繼續(xù)繼續(xù)按鈕、取消下載按、顯示更新下載的字節(jié)數(shù)鈕等。這些都是瀏覽器自動(dòng)為我們做的,整個(gè)過(guò)程不受我們控制。

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)

ajax下載

瀏覽器對(duì)下載的支持基本上已經(jīng)能滿足我們的需求,一般場(chǎng)景下再探索其他下載方式意義不大。但是還是有些場(chǎng)景是瀏覽器下載不能滿足的,比如要求我們的web應(yīng)用對(duì)下載進(jìn)度的進(jìn)行監(jiān)控,或者下載完成后觸發(fā)特定事件,或者web應(yīng)用可以自動(dòng)取消下載過(guò)程,或者使用worker創(chuàng)建一個(gè)后臺(tái)運(yùn)行的下載等等。對(duì)于以上情況我們都可以采用基于Blod對(duì)象的ajax下載。

a

網(wǎng)友評(píng)論