Skip to content
Netflix - 每月低至 25 元

JavsScript 实现文件的导入与导出

导入

ts
const handleIn = () => {
  // 1.点击导入
  const input = document.querySelector('.fileInput') as HTMLInputElement;
  input.click();

  input.onchange = () => {
    // 2.导入文件后,获取文件
    const file = input.files[0];

    // 3.读取文件内容
    const reader = new FileReader();
    reader.readAsText(file, 'utf-8');
    reader.onload = (res) => {
      const json = JSON.parse(res.target?.result as string);
    };
  };
};

导出

ts
const handleOut = () => {
  // 1.创建一个对象用于存储数据
  let obj = {};

  // 2.将对象转换为字符串形式
  const data = JSON.stringify(obj);

  // 3.将字符串转为二进制
  const blob = new Blob([data], { type: 'text/json' });

  // 4.创建一个a标签用于下载
  const link = document.createElement('a');

  // 5.设置文件的路径与名字
  link.href = window.URL.createObjectURL(blob);
  link.download = `H2记账.json`;

  // 6.添加a标签->点击->移除a标签
  document.body.appendChild(link);
  link.click();
  document.body.removeChild(link);
};
关注微信公众号RackNerd - 美国 163 直连线路
你认为这篇文章怎么样?
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0

预览:

评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v3.1.3