普通的瀏覽器下載

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

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

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

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

ajax下載

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

a