使用JS将字符串保存成文件到本地(.txt、.json、.md)

 更新时间:2023年06月15日 14:32:53   作者:一颗不甘坠落的流星  
工作中有时需要通过JavaScript保存文件到本地,下面这篇文章主要给大家介绍了关于使用JS将字符串保存成文件到本地的相关资料,分别包括生成.txt、.json、.md等文件,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

一、生成 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')
				// 给按钮添加点击事件
				button.onclick = () => {
					// 要保存的字符串
					const stringData = '一段文本.'
					// dada 表示要转换的字符串数据,type 表示要转换的数据格式
					const blob = new Blob([stringData], {
						type: "text/plain;charset=utf-8"
					})
					// 根据 blob生成 url链接
					const objectURL = URL.createObjectURL(blob)
					// 创建一个 a 标签Tag
					const aTag = document.createElement('a')
					// 设置文件的下载地址
					aTag.href = objectURL
					// 设置保存后的文件名称
					aTag.download = "文本文件.txt"
					// 给 a 标签添加点击事件
					aTag.click()
					// 释放一个之前已经存在的、通过调用 URL.createObjectURL() 创建的 URL 对象。
					// 当你结束使用某个 URL 对象之后,应该通过调用这个方法来让浏览器知道不用在内存中继续保留对这个文件的引用了。
					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')
				// 给按钮添加点击事件
				button.onclick = () => {
					// 要保存的字符串, 需要先将数据转成字符串
					const stringData = JSON.stringify([{name: "张三",age: 18}], null, 2)
					// dada 表示要转换的字符串数据,type 表示要转换的数据格式
					const blob = new Blob([stringData], {
						type: 'application/json'
					})
					// 根据 blob生成 url链接
					const objectURL = URL.createObjectURL(blob)
					// 创建一个 a 标签Tag
					const aTag = document.createElement('a')
					// 设置文件的下载地址
					aTag.href = objectURL
					// 设置保存后的文件名称
					aTag.download = "json文件.json"
					// 给 a 标签添加点击事件
					aTag.click()
					// 释放一个之前已经存在的、通过调用 URL.createObjectURL() 创建的 URL 对象。
					// 当你结束使用某个 URL 对象之后,应该通过调用这个方法来让浏览器知道不用在内存中继续保留对这个文件的引用了。
					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')
				// 给按钮添加点击事件
				button.onclick = () => {
					// 要保存的字符串
					const stringData = '# 一级标题\n## 二级标题'
					// dada 表示要转换的字符串数据,type 表示要转换的数据格式
					const blob = new Blob([stringData], {
						type: 'text/markdown'
					})
					// 根据 blob生成 url链接
					const objectURL = URL.createObjectURL(blob)
					// 创建一个 a 标签Tag
					const aTag = document.createElement('a')
					// 设置文件的下载地址
					aTag.href = objectURL
					// 设置保存后的文件名称
					aTag.download = "markdown文件.md"
					// 给 a 标签添加点击事件
					aTag.click()
					// 释放一个之前已经存在的、通过调用 URL.createObjectURL() 创建的 URL 对象。
					// 当你结束使用某个 URL 对象之后,应该通过调用这个方法来让浏览器知道不用在内存中继续保留对这个文件的引用了。
					URL.revokeObjectURL(objectURL)
				}
			}
		</script>
	</body>
</html>

总结

到此这篇关于使用JS将字符串保存成文件到本地的文章就介绍到这了,更多相关JS字符串保存成文件到本地内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Javascript实现代码折叠功能

    Javascript实现代码折叠功能

    代码折叠起来,使整段程序缩成一行,看起来清爽了许多。大家在使用Visual Studio环境进行开发时,可以把某个类或某个函数折叠起来,在很多网页上也有类似的功能,那到底是如何实现的呢?其实很简单,只要通过JavaScript就可以实现。
    2016-08-08
  • 两个select多选模式的选项相互移动(示例代码)

    两个select多选模式的选项相互移动(示例代码)

    本篇文章主要是对两个select多选模式的选项相互移动示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-01-01
  • js实现键盘Enter键提交表单的方法

    js实现键盘Enter键提交表单的方法

    这篇文章主要介绍了js实现键盘Enter键提交表单的方法,涉及javascript键盘事件的相关操作技巧,需要的朋友可以参考下
    2015-05-05
  • Google Map V3 绑定气泡窗口(infowindow)Dom事件实现代码

    Google Map V3 绑定气泡窗口(infowindow)Dom事件实现代码

    无法在infowindow里面添加的div进行绑定事件处理,官方的API,发现了google.maps.InfoWindow下面的Events里面有个domready事件
    2013-04-04
  • 基于JavaScript实现智能右键菜单

    基于JavaScript实现智能右键菜单

    这篇文章主要介绍了基于JavaScript实现智能右键菜单的相关资料,需要的朋友可以参考下
    2016-03-03
  • javascript 实现动态侧边栏实例详解

    javascript 实现动态侧边栏实例详解

    这篇文章主要介绍了javascript 实现动态侧边栏实例详解的相关资料,并附实例代码,帮助大家学习理解,需要的朋友可以参考下
    2016-11-11
  • JavaScript 七大技巧(二)

    JavaScript 七大技巧(二)

    我写JavaScript代码已经很久了,都记不起是什么年代开始的了。本文给大家分享javascript七大技巧(二),对javascript技巧相关知识感兴趣的朋友一起学习吧
    2015-12-12
  • Three.js利用orbit controls插件(轨道控制)控制模型交互动作详解

    Three.js利用orbit controls插件(轨道控制)控制模型交互动作详解

    这篇文章主要给大家介绍了关于Three.js利用orbit controls插件,也就是轨道控制来控制模型交互动作的相关资料,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-09-09
  • JS中Promise函数then的奥秘探究

    JS中Promise函数then的奥秘探究

    then()方法用于指定当前实例状态发生改变时的回调函数。它返回一个新的Promise实例。下面这篇文章主要给大家介绍了关于JS中Promise函数then的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧
    2018-07-07
  • 详细聊聊对async/await的理解和用法

    详细聊聊对async/await的理解和用法

    随着Nodev7的发布,越来越多的人开始研究据说是异步编程终级解决方案的 async/await,这篇文章主要给大家介绍了关于对async/await的理解和用法,文中通过实例代码介绍的介绍的非常详细,需要的朋友可以参考下
    2022-07-07

最新评论