国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

js基礎(chǔ)--將內(nèi)存中的數(shù)據(jù)保存為文件下載到本地

nifhlheimr / 2159人閱讀

摘要:歡迎訪問我的個(gè)人博客前言最近在做一個(gè)項(xiàng)目,有個(gè)需求就是,前端在內(nèi)存中維護(hù)了一個(gè)很復(fù)雜的對象,當(dāng)點(diǎn)擊下載按鈕時(shí),需要把這個(gè)對象保存到文本中并下載到本地。

歡迎訪問我的個(gè)人博客:http://www.xiaolongwu.cn

前言

最近在做一個(gè)項(xiàng)目,有個(gè)需求就是,前端在內(nèi)存中維護(hù)了一個(gè)很復(fù)雜的json對象,當(dāng)點(diǎn)擊下載按鈕時(shí),需要把這個(gè)json對象保存到文本中并下載到本地。

總結(jié)了兩種實(shí)現(xiàn)方式

假如在我們項(xiàng)目中有個(gè)json對象如下:

    var jsonObj = {
        name: "Leon WuV",
        age: 23
    }
方式一

當(dāng)我們點(diǎn)擊下載按鈕時(shí),調(diào)用如下方法

function downFlie() {
      // 創(chuàng)建a標(biāo)簽
      var elementA = document.createElement("a");
      
      //文件的名稱為時(shí)間戳加文件名后綴
      elementA.download = +new Date() + ".tpl";
      elementA.style.display = "none";
      
      //生成一個(gè)blob二進(jìn)制數(shù)據(jù),內(nèi)容為json數(shù)據(jù)
      var blob = new Blob([JSON.stringify(jsonObj)]);
      
      //生成一個(gè)指向blob的URL地址,并賦值給a標(biāo)簽的href屬性
      elementA.href = URL.createObjectURL(blob);
      document.body.appendChild(elementA);
      elementA.click();
      document.body.removeChild(elementA);
}

可以看到文件已經(jīng)下載到本地了

.jpg)

我們在打開文件看下內(nèi)容

.jpg)

也沒有問題,是剛才我們維護(hù)在內(nèi)存中的哪個(gè)json對象

方式二
function downFile() {
  var elementA = document.createElement("a");
  
  elementA.setAttribute("href", "data:text/plain;charset=utf-8," + JSON.stringify(json1));
  elementA.setAttribute("download", +new Date() + ".tpl");
  elementA.style.display = "none";
  document.body.appendChild(elementA);
  elementA.click();
  document.body.removeChild(elementA);
}

當(dāng)然第二種方式和第一種方式的結(jié)果是完全一樣的,感覺第二種方式更為簡單。

github資源地址:js基礎(chǔ)--將內(nèi)存中的數(shù)據(jù)保存為文件下載到本地

我的CSDN博客地址:https://blog.csdn.net/wxl1555

如果您對我的博客內(nèi)容有疑惑或質(zhì)疑的地方,請?jiān)谙路皆u論區(qū)留言,或郵件給我,共同學(xué)習(xí)進(jìn)步。

郵箱:wuxiaolong802@163.com

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/101053.html

相關(guān)文章

  • JavaScript學(xué)習(xí)總結(jié)(一)基礎(chǔ)部分

    摘要:前綴規(guī)范每個(gè)局部變量都需要有一個(gè)類型前綴,按照類型可以分為表示字符串。例如,表示以上未涉及到的其他對象,例如,表示全局變量,例如,是一種區(qū)分大小寫的語言。布爾值與字符串相加將布爾值強(qiáng)制轉(zhuǎn)換為字符串。 基本概念 javascript是一門解釋型的語言,瀏覽器充當(dāng)解釋器。js執(zhí)行時(shí),在同一個(gè)作用域內(nèi)是先解釋再執(zhí)行。解釋的時(shí)候會編譯function和var這兩個(gè)關(guān)鍵詞定義的變量,編譯完成后從...

    AlanKeene 評論0 收藏0
  • JavaScript基礎(chǔ)知識

    摘要:用和包裹的內(nèi)容,稱為字符串。關(guān)系運(yùn)算符用于進(jìn)行比較的運(yùn)算符。強(qiáng)制依賴于,非強(qiáng)制依賴于。使用場合全局環(huán)境構(gòu)造函數(shù)對象的方法閉包閉包是指有權(quán)訪問另一個(gè)函數(shù)作用域中的變量的函數(shù)。所有全局對象函數(shù)以及變量均自動成為對象的成員。 1 什么是JavaScript JavaScript一種直譯式腳本語言,一種基于對象和事件驅(qū)動并具有安全性的客戶端腳本語言;也是一種廣泛應(yīng)用客戶端web開發(fā)的腳本語言。...

    Code4App 評論0 收藏0
  • 常見js筆試面試題(持續(xù)更新)

    摘要:相當(dāng)于繞過了瀏覽器端,自然就不存在跨域問題。三者的區(qū)別與服務(wù)器的交互數(shù)據(jù)始終在同源的請求中攜帶即使不需要,即在瀏覽器和服務(wù)器間來回傳遞。而和不會自動把數(shù)據(jù)發(fā)給服務(wù)器,僅在本地保存。和雖然也有存儲大小的限制,但比大得多,可以達(dá)到或更大。 本文提供最簡便的解答方式,方便快速記憶,復(fù)盤,詳細(xì)答案可自己再搜一下。 js基礎(chǔ)知識 1. javascript typeof返會的數(shù)據(jù)類型有哪些 ob...

    yuxue 評論0 收藏0
  • Android面試整理(附答案)

    摘要:和體現(xiàn)了對不同異常情況的分類。是程序正常運(yùn)行中,可以預(yù)料的意外情況,可能并且應(yīng)該被捕獲,進(jìn)行相應(yīng)的處理。是指在正常情況下,不大可能出現(xiàn)的情況,絕大部分都會使程序處于非正常不可恢復(fù)的狀態(tài)。常見的非對稱加密包括等。 面試,無非都是問上面這些問題(挺多的 - -!),聘請中高級的安卓開發(fā)會往深的去問,并且會問一延伸二。以下我先提出幾點(diǎn)重點(diǎn),是面試官基本必問的問題,請一定要去了解! 基礎(chǔ)知識...

    Vultr 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<