简单好用用js就可以保存文本文件到本地

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link rel="stylesheet" href="//g.alicdn.com/msui/sm/0.6.2/css/sm.min.css">
<script type='text/javascript' src='//g.alicdn.com/sj/lib/zepto/zepto.min.js' charset='utf-8'></script>
<script type='text/javascript' src='//g.alicdn.com/msui/sm/0.6.2/js/sm.min.js' charset='utf-8'></script>
</head>
<body>

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="description" content="A simple HTML5 Template">
  <meta name="author" content="dron">
  <meta name="viewport" content="width=device-width, height=device-height, user-scalable=no, initial-scale=1.0, maximum-scale=1.0">
  <meta name="apple-mobile-web-app-capable" content="yes">
  <meta name="apple-mobile-web-app-status-bar-style" content="black">
  <title>保存文本文件到本地</title>
  <link href="http://ucren.com/static/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
  <script src="http://ucren.com/static/jquery/2.2.3/jquery.min.js"></script>
  <script src="http://ucren.com/static/bootstrap/3.3.6/js/bootstrap.min.js"></script>
  <style>
    .container-fluid{ margin-top: 20px; }
  </style>
</head>
<body>
  <script>
    void function(a){a.siteToolbar=function b(a){b.setting=a||{}},document.write
    ('<div class="ucren-toolbar-placeholder" style="height:3000px;"></div><scri'
    +'pt src="//ucren.com/ucren-toolbar/scripts/main.js"><\/script>')}(this);
    siteToolbar();
  </script>


  <div class="container-fluid">
    <div class="row">
      <div class="col-md-3">
        <div class="form-group">
          <label>文件内容</label>
          <textarea class="form-control" rows="4" id="content">测试文本,你可以随便修改,完事后点保存。</textarea>  
        </div>


        <div class="form-group">
          <label>文件名</label>
          <input type="text" class="form-control" value="test.txt" id="file-name">
        </div>


        <a id="save-btn" class="btn btn-default" download="test.txt" role="button">保存</a>
      </div>
    </div>
  </div>


  <script>
    void function(){
      var content, fileName, saveBtn;


      content = document.querySelector( '#content' );
      fileName = document.querySelector( '#file-name' );
      saveBtn = document.querySelector( '#save-btn' );


      content.addEventListener( 'change', function self(){
        saveBtn.setAttribute( 'href', 'data:text/paint; utf-8,' + content.value );
        return self;
      }() );


      fileName.addEventListener( 'change', function self(){
        saveBtn.setAttribute( 'download', fileName.value );
        return self;
      }() );
    }();
  </script>


  <script>
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
    ga('create', 'UA-4190821-1', 'ucren.com');
    ga('send', 'pageview');
  </script>
</body>
</html>
</body>
</html>
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在前端网页开发中,有时候需要将一些数据或者文件保存到本地存储,使得用户可以在下次打开网页时方便地找到之前保存的内容。这时候就需要用到JavaScript的本地存储功能。 JavaScript的本地存储API包括localStorage和sessionStorage。其中,localStorage可以将数据永久保存在用户的本地磁盘上,而sessionStorage则只在当前会话中保存数据,如果用户关闭了浏览器窗口,数据就会被清除。 保存文件到本地存储一般分为两种情况:文本文件和二进制文件。 对于文本文件,可以通过Blob对象进行处理。Blob是一种不可变的二进制对象,可以存储任何类型的文件,包括文本、图像和音频等。要将文本内容保存为Blob对象,可以使用以下代码: ```javascript var text = "This is a test text."; var blob = new Blob([text], {type: "text/plain"}); ``` 这里将文本内容保存在text变量中,并使用Blob构造函数将文本内容封装为Blob对象。type参数指定了文件类型,如果文本中包含HTML标签,可以使用"text/html"。 接着,可以将Blob对象保存到本地存储中。以下代码示例将Blob对象保存到localStorage中: ```javascript localStorage.setItem("testBlob", blob); ``` 保存完成后,可以通过getItem方法获取保存的Blob对象,然后使用FileReader对象读取文本内容或者使用URL对象生成下载链接。 对于二进制文件,也可以使用Blob对象进行处理。读取图片等二进制文件的流程类似于读取文本文件。以下代码示例将图片文件保存为Blob对象,并将Blob对象保存到localStorage中: ```javascript var dataURI = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQ ..."; var byteString = atob(dataURI.split(',')[1]); var arrayBuffer = new ArrayBuffer(byteString.length); var intArray = new Uint8Array(arrayBuffer); for (var i = 0; i < byteString.length; i++) { intArray[i] = byteString.charCodeAt(i); } var blob = new Blob([arrayBuffer], {type: 'image/jpeg'}); localStorage.setItem('testImage', blob); ``` 在这个代码示例中,dataURI变量中存储的是图片的Base64编码。首先使用atob方法解码Base64字符串,并使用ArrayBuffer对象创建一个缓冲区。接着,使用Uint8Array视图加载缓冲区数据,并将解码后的数据存储到其中。最后,使用Blob构造函数将图片数据封装为Blob对象后保存到本地存储中。 总的来说,JavaScript的本地存储API可以很方便地实现文件保存到本地的功能。通过使用Blob对象,可以将文本文件和二进制文件封装为统一的数据结构进行处理,是前端网页开发中非常重要的一项功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

《源码好优多》

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值