使用JS將字符串保存成文件到本地(.txt、.json、.md)
更新時(shí)間:2023年06月15日 14:32:53 作者:一顆不甘墜落的流星
工作中有時(shí)需要通過(guò)JavaScript保存文件到本地,下面這篇文章主要給大家介紹了關(guān)于使用JS將字符串保存成文件到本地的相關(guān)資料,分別包括生成.txt、.json、.md等文件,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
一、生成 TXT 文件
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>保存文件</title>
</head>
<body>
<button type="button" id="button"> 保存文件</button>
<script type="text/javascript">
window.onload = function(event) {
main()
}
function main() {
// 獲取按鈕
const button = document.getElementById('button')
// 給按鈕添加點(diǎn)擊事件
button.onclick = () => {
// 要保存的字符串
const stringData = '一段文本.'
// dada 表示要轉(zhuǎn)換的字符串?dāng)?shù)據(jù),type 表示要轉(zhuǎn)換的數(shù)據(jù)格式
const blob = new Blob([stringData], {
type: "text/plain;charset=utf-8"
})
// 根據(jù) blob生成 url鏈接
const objectURL = URL.createObjectURL(blob)
// 創(chuàng)建一個(gè) a 標(biāo)簽Tag
const aTag = document.createElement('a')
// 設(shè)置文件的下載地址
aTag.href = objectURL
// 設(shè)置保存后的文件名稱
aTag.download = "文本文件.txt"
// 給 a 標(biāo)簽添加點(diǎn)擊事件
aTag.click()
// 釋放一個(gè)之前已經(jīng)存在的、通過(guò)調(diào)用 URL.createObjectURL() 創(chuàng)建的 URL 對(duì)象。
// 當(dāng)你結(jié)束使用某個(gè) URL 對(duì)象之后,應(yīng)該通過(guò)調(diào)用這個(gè)方法來(lái)讓瀏覽器知道不用在內(nèi)存中繼續(xù)保留對(duì)這個(gè)文件的引用了。
URL.revokeObjectURL(objectURL)
}
}
</script>
</body>
</html>二、生成 JSON 文件
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>保存文件</title>
</head>
<body>
<button type="button" id="button"> 保存文件</button>
<script type="text/javascript">
window.onload = function(event) {
main()
}
function main() {
// 獲取按鈕
const button = document.getElementById('button')
// 給按鈕添加點(diǎn)擊事件
button.onclick = () => {
// 要保存的字符串, 需要先將數(shù)據(jù)轉(zhuǎn)成字符串
const stringData = JSON.stringify([{name: "張三",age: 18}], null, 2)
// dada 表示要轉(zhuǎn)換的字符串?dāng)?shù)據(jù),type 表示要轉(zhuǎn)換的數(shù)據(jù)格式
const blob = new Blob([stringData], {
type: 'application/json'
})
// 根據(jù) blob生成 url鏈接
const objectURL = URL.createObjectURL(blob)
// 創(chuàng)建一個(gè) a 標(biāo)簽Tag
const aTag = document.createElement('a')
// 設(shè)置文件的下載地址
aTag.href = objectURL
// 設(shè)置保存后的文件名稱
aTag.download = "json文件.json"
// 給 a 標(biāo)簽添加點(diǎn)擊事件
aTag.click()
// 釋放一個(gè)之前已經(jīng)存在的、通過(guò)調(diào)用 URL.createObjectURL() 創(chuàng)建的 URL 對(duì)象。
// 當(dāng)你結(jié)束使用某個(gè) URL 對(duì)象之后,應(yīng)該通過(guò)調(diào)用這個(gè)方法來(lái)讓瀏覽器知道不用在內(nèi)存中繼續(xù)保留對(duì)這個(gè)文件的引用了。
URL.revokeObjectURL(objectURL)
}
}
</script>
</body>
</html>三、生成 Markdown 文件
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>保存文件</title>
</head>
<body>
<button type="button" id="button"> 保存文件</button>
<script type="text/javascript">
window.onload = function(event) {
main()
}
function main() {
// 獲取按鈕
const button = document.getElementById('button')
// 給按鈕添加點(diǎn)擊事件
button.onclick = () => {
// 要保存的字符串
const stringData = '# 一級(jí)標(biāo)題\n## 二級(jí)標(biāo)題'
// dada 表示要轉(zhuǎn)換的字符串?dāng)?shù)據(jù),type 表示要轉(zhuǎn)換的數(shù)據(jù)格式
const blob = new Blob([stringData], {
type: 'text/markdown'
})
// 根據(jù) blob生成 url鏈接
const objectURL = URL.createObjectURL(blob)
// 創(chuàng)建一個(gè) a 標(biāo)簽Tag
const aTag = document.createElement('a')
// 設(shè)置文件的下載地址
aTag.href = objectURL
// 設(shè)置保存后的文件名稱
aTag.download = "markdown文件.md"
// 給 a 標(biāo)簽添加點(diǎn)擊事件
aTag.click()
// 釋放一個(gè)之前已經(jīng)存在的、通過(guò)調(diào)用 URL.createObjectURL() 創(chuàng)建的 URL 對(duì)象。
// 當(dāng)你結(jié)束使用某個(gè) URL 對(duì)象之后,應(yīng)該通過(guò)調(diào)用這個(gè)方法來(lái)讓瀏覽器知道不用在內(nèi)存中繼續(xù)保留對(duì)這個(gè)文件的引用了。
URL.revokeObjectURL(objectURL)
}
}
</script>
</body>
</html>總結(jié)
到此這篇關(guān)于使用JS將字符串保存成文件到本地的文章就介紹到這了,更多相關(guān)JS字符串保存成文件到本地內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Bootstrap的Carousel配合dropload.js實(shí)現(xiàn)移動(dòng)端滑動(dòng)切換圖片
這篇文章主要介紹了bootstrap的Carousel配合dropload.js實(shí)現(xiàn)移動(dòng)端滑動(dòng)切換圖片,實(shí)現(xiàn)方法非常簡(jiǎn)單,具有參考借鑒價(jià)值,需要的朋友可以參考下2017-03-03
js實(shí)現(xiàn)tab選項(xiàng)卡切換功能
本文主要分享了javascript實(shí)現(xiàn)tab選項(xiàng)卡切換功能的示例代碼。具有一定的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-01-01
css+html+js實(shí)現(xiàn)五角星評(píng)分
這篇文章主要為大家詳細(xì)介紹了css+html+js實(shí)現(xiàn)五角星評(píng)分,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-09-09
基于MooTools的很有創(chuàng)意的滾動(dòng)條時(shí)鐘動(dòng)畫(huà)
一款很有創(chuàng)意的時(shí)鐘js動(dòng)畫(huà).是利用系統(tǒng)滾動(dòng)條來(lái)構(gòu)成一個(gè) 時(shí):分:秒 的盤. 再利用滾動(dòng)條的長(zhǎng)度變化做過(guò)渡動(dòng)畫(huà).2010-11-11

