js本地文件读写
直接上代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>本地文件读写</title>
</head>
<script type="text/javascript">
(function (console) {
console.save = function (data, filename) {
if (!data) {
console.error('No data');
return;
}
if (!filename) filename = 'data.json';
if (typeof data === "object") {
data = JSON.stringify(data, undefined, 4)
}
var blob = new Blob([data], {type: 'text/json'}),
e = document.createEvent('MouseEvents'),
a = document.createElement('a');
a.download = filename;
a.href = window.URL.createObjectURL(blob);
a.dataset.downloadurl = ['text/json', a.download, a.href].join(':');
e.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
a.dispatchEvent(e)
}
})(console);
var arr = new Array();
var temp_str ="";
var i = 0;
function showPreview(source){
var input = source;
var reader = new FileReader();
reader.readAsText(input.files[0]);
reader.onload = function() {
if(reader.result) {
//显示文件内容
temp_str = reader.result;
}
};
}
function showText()
{
if(temp_str=="")
{
alert("请先上传文件");
}
else
{
document.getElementById("text").innerHTML=temp_str;
}
}
function saveText()
{
var text = document.getElementById("text").value;
if(text=="")
{
alert("没有内容");
}
else
{
console.save(text,"data.json");
}
}
</script>
<body>
<div style="display: flex; justify-content: center;">
<div id="div" align="center" style="width: 300px;height: 600px; background-color: #eee;">
<br>
<input type="file" name="file" value="上传文件" onchange="showPreview(this)" />
<br>
<br>
<br>
<br>
<br>
<input type="button" value="显示文件内容" onclick="showText()">
<br>
<br>
<input type="button" value="另存文件内容" onclick="saveText()">
</div>
<div id="div" align="center" style="width: 1000px;height: 600px; background-color: #000000;">
<textarea id="text"style="width: 1000px;height: 600px; background-color: #000000; color: #ffffff;"></textarea>
</div>
</div>
</body>
</html>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义