问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

javascript自动保存为文本

发布网友 发布时间:2022-04-23 07:16

我来回答

3个回答

懂视网 时间:2022-04-23 11:37

这次给大家带来怎样使用JavaScript保存文本数据,使用JavaScript保存文本数据的注意事项有哪些,下面就是实战案例,一起来看一下。

JavaScript保存文本数据示例,当然不仅仅是文本其他类型的也是可以的

首先上代码

<!DOCTYPE html><html>
 <head>
 <meta charset="UTF-8">
 <title></title>
 <script>
  var fl;  function g(f) {
  fl = null;  if(f) {   document.getElementById("fname").innerText = f.name;   document.getElementById("fsize").innerText = f.size;
   fl = f;
  }
  }  function dataURLSave1() {  if(fl) {   var reader = new FileReader();
   reader.onload = function(e) {
   ck(e.target.result);
   };
   reader.readAsDataURL(fl);
  }
  }  function dataURLSave2() {  if(fl) {   var reader = new FileReader();
   reader.onload = function(e) {
   ck('data:text/plain;charset=utf-8,' + e.target.result);
   };
   reader.readAsText(fl);
  }
  }  function objectURLSave() {  if(fl) {
   ck(URL.createObjectURL(fl));
   setTimeout(function(){
   URL.revokeObjectURL(fl);//用URL.revokeObjectURL()来释放这个object URL
   },200);
  }
  }  function ck(href) {  document.getElementById("hf").href = href;  document.getElementById("hf").download = fl.name;  document.getElementById("hf").click();
  } </script>
 </head>
 <body>
 <input type="file" onchange="g(this.files[0])">
 <div>文件名:<span id="fname"></span></div>
 <div>大小:<span id="fsize"></span></div>
 <button onclick="dataURLSave1()">保存(dataURL方式1)</button>
 <button onclick="dataURLSave2()">保存(dataURL方式2)</button>
 <button onclick="objectURLSave()">保存(objectURLSave方式)</button>
 <a id="hf" href="" download="download"></a>
 </body></html>

实现分类

一般情况下使用浏览器自带功能实现导出类似与文本文件的方式简单可以分为两种
1.DataURL
2.ObjectURL

原理

其实原理跟平时下载是一样的,只不过把下载的连接替换成了以上两种URL

比较

DataURL方式

在示例代码中DataURL方式1是将文本文件直接读取成DataURL,DataURL方式2是通过读取文本内容然后将内容与(data:text/plain;charset=utf-8,...)进行拼接
DataURL方式1和DataURL方式2对文件文本编码有一定要求,容易出现乱码

ObjectURL方式

ObjectURL是将内存中的对象转为ObjectURL,相比DataURL的话ObjectURL比较不容易出现乱码,但DataURL比较固定ObjectURL比较不固定

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

相关阅读:

怎样用JS编写模拟器

ES6的set数据结构和map数据结构

ES6里新的数组API详解

热心网友 时间:2022-04-23 08:45

JS实现不了这个功能,客户端脚本是没有权限在服务器端写文件的,要不然人家随便写个JS脚本把你服务器端的ASP/JSP/PHP文件改掉你怎么办?

你可以用服务器端脚本如ASP/PHP等写一个保存文件的程序,然后再在客户端用JS调用(AJAX)就行了。

热心网友 时间:2022-04-23 10:03

用javascript是不可能往服务器端保存文件的..

因为js本来就是客户端脚本.怎么能保存文件到服务器上呢..?

用js操作数据库可以用ajax异步调用.

但你说的这种情况.不太可能.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
cad里面打完字怎么还原十字架 财务建帐需要什么 建账建账的基本要求 当爱情与亲情需要丢弃一样时,你会选择丢弃哪一方 当爱情和亲情有冲突时你会怎样决择?你会为你所爱的人不顾一切吗? 剑网三 查看余额 因为某些特殊原因不好登陆游戏查看,求其他方式_百度知 ... 右肺上叶中叶结节灶怎么回事 节能门窗有哪些标准 节能门窗有哪些 节能门窗具有哪些特征 初音演唱会真是3d全息技术吗?什么是3d全息技术? 三串三联的26650电池组需要什么样的保护板? 为什么很多大品牌(松下、索尼、三星)都不生产26650电池?26650电池容量比18650高很多。 excel单元格设置批注格式对话框只有字体,怎么办 “海关的隶属关系不受行政区划的限制”这句话怎么理解 为什么填写海关补充申报 这是一粒26650的锂电池!电池过放坏了,我将他拆解了!拆解后电芯还有4V的电压,装回去又变1V左 简述报关,通关,结关和报检的异同 海关的行政管理体制有何特点?其组织和机构是怎样的? 取名字库 全国计算机等级考试一级证书什么时候报名 蒸大米怎么发馒头 三通下料最简单方法 等径三通怎么下料 45度斜三通下料图纸怎么画? 三通下料怎样下 钣金变径三通下料展开图 主管1900支管1500四十五度三通怎么下料快? 跨越三通怎么下料? 管子三通如何下料 魔唤精灵的PC版魔唤精灵 我有62级的里奥斯和51级的查尔德怎么能打魔狮迪露 日精灵的信仰 血精灵和暗夜精灵的问题 奇迹交换到的精灵怎么知道是不是魔法产物 请问企业怎么添加自定义菜单 全自动洗衣机洗衣中途停止出现EⅠ0是怎么回事? 吃姜片对胃好不好 别人发的微信红包我不点开可以看见里面有多少嘛 什么牌子型号的笔记本电脑性价比高,耐用,维修故障少 请问企业怎么添加自定义菜单 虚拟机干什么用的 安装虚拟机有什么用 苹果6s主副卡视频通话不好用了 plum铰链是什么牌子 om shree sache 歌词意义 苹果手机有的能使用视频通话,有的不能使用视频通话是怎么回事? 苹果8p为什么微信视频通话收不到 北京普拉美时装有限公司怎么样? 哥们, ide were were,这首歌是什么语啊?中文意思是什么? 谢谢了!!!