[發(fā)明專利]文件下載方法、裝置和電子設(shè)備在審
| 申請?zhí)枺?/td> | 202011275014.6 | 申請日: | 2020-11-12 |
| 公開(公告)號: | CN112468550A | 公開(公告)日: | 2021-03-09 |
| 發(fā)明(設(shè)計)人: | 徐德明 | 申請(專利權(quán))人: | 北京金山云網(wǎng)絡(luò)技術(shù)有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08 |
| 代理公司: | 北京超凡宏宇專利代理事務(wù)所(特殊普通合伙) 11463 | 代理人: | 榮穎佳 |
| 地址: | 100000 北京市海淀*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 文件 下載 方法 裝置 電子設(shè)備 | ||
本發(fā)明提供了一種文件下載方法、裝置和電子設(shè)備,響應(yīng)針對目標(biāo)文件的下載指令,生成攜帶有指定請求頭的POST請求信息,將POST請求信息發(fā)送至后端服務(wù)器;其中,指定請求頭用于指示:后端服務(wù)器返回目標(biāo)文件的二進制文件數(shù)據(jù);接收后端服務(wù)器返回的目標(biāo)文件的二進制文件數(shù)據(jù),基于二進制文件數(shù)據(jù),下載目標(biāo)文件。該方式可以下載根據(jù)內(nèi)容動態(tài)生成的文件,以及瀏覽器可以預(yù)覽的文件,并且沒有對地址字符長度的限制,因而可以基于各種用戶需求下載文件,下載方式使用范圍廣泛,可以滿足文件下載的個性化和多樣化需求。
技術(shù)領(lǐng)域
本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其是涉及一種文件下載方法、裝置和電子設(shè)備。
背景技術(shù)
為了實現(xiàn)從網(wǎng)頁下載文件的功能,可以將網(wǎng)頁代碼中的a標(biāo)簽的跳轉(zhuǎn)地址設(shè)置為瀏覽器無法預(yù)覽的文件,例如,.doc格式、.tar格式、.zip格式的文件,由于瀏覽器無法打開并預(yù)覽這些格式的文件,所以瀏覽器會默認(rèn)下載這些文件;但是該方式僅能下載后端服務(wù)器已存在的文件,且要求該文件無法被瀏覽器打開并預(yù)覽,限制條件較多;另一種方式中,后端服務(wù)器生成文件后,為該文件設(shè)置響應(yīng)頭Content-Disposition,前端瀏覽器通過get請求后端服務(wù)器的API(Application Programming Interface,應(yīng)用程序接口),后端返回帶有響應(yīng)頭Content-Disposition的文件,前端瀏覽器識別該響應(yīng)頭后,下載該文件;但是該方式對請求地址的長度有限制,前端瀏覽器無法向后端瀏覽器提供較多的需求參數(shù),難以滿足個性化多樣化需求的文件下載。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的在于提供一種文件下載方法、裝置和電子設(shè)備,以下載各種類型和多種需求下的文件,進而滿足文件下載的個性化和多樣化需求。
第一方面,本發(fā)明實施例提供了一種文件下載方法,方法包括:響應(yīng)針對目標(biāo)文件的下載指令,生成攜帶有指定請求頭的POST請求信息,將POST請求信息發(fā)送至后端服務(wù)器;其中,指定請求頭用于指示:后端服務(wù)器返回目標(biāo)文件的二進制文件數(shù)據(jù);接收后端服務(wù)器返回的目標(biāo)文件的二進制文件數(shù)據(jù),基于二進制文件數(shù)據(jù),下載目標(biāo)文件。
進一步的,生成攜帶有指定請求頭的POST請求信息的步驟,包括:從下載指令中獲取下載需求參數(shù);其中,下載需求參數(shù)用于指示用戶針對目標(biāo)文件的下載需求;基于下載需求參數(shù),生成攜帶有指定請求頭的POST請求信息,其中,下載需求參數(shù)包含在POST請求信息的request body中。
進一步的,指定請求頭具體用于指示:后端服務(wù)器響應(yīng)POST請求信息的響應(yīng)類型為blob對象。
進一步的,指定請求頭包括:responseType:‘blob’。
進一步的,基于二進制文件數(shù)據(jù),下載目標(biāo)文件的步驟,包括:生成二進制文件數(shù)據(jù)的鏈接地址,通過鏈接地址下載目標(biāo)文件。
進一步的,生成二進制文件數(shù)據(jù)的鏈接地址,通過鏈接地址下載目標(biāo)文件的步驟,包括:如果當(dāng)前瀏覽器支持執(zhí)行預(yù)設(shè)下載函數(shù),通過Blob的方式生成二進制文件數(shù)據(jù)的鏈接地址;將鏈接地址和目標(biāo)文件的文件名稱輸入至預(yù)設(shè)下載函數(shù)中,以通過預(yù)設(shè)下載函數(shù)下載目標(biāo)文件。
進一步的,預(yù)設(shè)下載函數(shù)包括:window.navigator.msSaveBlob函數(shù)。
進一步的,生成二進制文件數(shù)據(jù)的鏈接地址,通過鏈接地址下載目標(biāo)文件的步驟,包括:如果當(dāng)前瀏覽器不支持執(zhí)行預(yù)設(shè)下載函數(shù),通過鏈接地址生成函數(shù)生成二進制文件數(shù)據(jù)的鏈接地址;生成與鏈接地址關(guān)聯(lián)的a標(biāo)簽DOM節(jié)點,通過a標(biāo)簽DOM節(jié)點下載目標(biāo)文件。
進一步的,鏈接地址生成函數(shù)包括:window.URL.createObjectURL函數(shù)。
進一步的,通過a標(biāo)簽DOM節(jié)點下載目標(biāo)文件的步驟,包括:在當(dāng)前網(wǎng)頁的網(wǎng)頁代碼中插入a標(biāo)簽DOM節(jié)點;其中,a標(biāo)簽DOM節(jié)點用于下載目標(biāo)文件;自動觸發(fā)a標(biāo)簽DOM節(jié)點,以下載目標(biāo)文件。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京金山云網(wǎng)絡(luò)技術(shù)有限公司,未經(jīng)北京金山云網(wǎng)絡(luò)技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011275014.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





