使用JavaScript实现保存文件,用户可以自己选择本地路径

一句话:使用File System Access API

但是,此API目前仍处于实验阶段,可能并不在所有浏览器中都得到完全支持。

浏览器的权限是很低的,是不能与操作系统实现交互,只有少量的api可以与操作系统交互,例如文件上传。但是,软件是有很高的权限的,例如,迅雷下载就可以轻松实现,下载到指定目录。

但是,我们可以发现,在某度图片上,右键,可以选择另存为,就能够弹出本地文件目录,不禁让我们深思,到底是怎么实现的,但没有收到,kukuku,不管了,给出我们的实现方法。

<!DOCTYPE html>
<html>
<head>
  <title>选择保存目录示例</title>
</head>
<body>
  <h2>选择保存目录示例</h2>

  <button onclick="saveFile()">保存文件</button>

  <script>
    async function saveFile() {
      try {
        const opts = {
          types: [
            {
              description: '文件',
              accept: {
                'text/plain': ['.txt'],
                'application/pdf': ['.pdf'],
                'image/jpeg': ['.jpg', '.jpeg'],
                'image/png': ['.png']
              }
            }
          ],
          excludeAcceptAllOption: true
        };

        const handle = await window.showSaveFilePicker(opts); // 打开保存文件对话框
        const writable = await handle.createWritable(); // 创建可写入的文件对象

        // 在这里写入文件内容
        await writable.write('这是文件的内容');
        await writable.close();

        console.log('文件保存成功');
        windows.alert('success');
      } catch (error) {
        console.error('文件保存失败:', error);
      }
    }
  </script>
</body>
</html>

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2023年12月8日
下一篇 2023年12月8日

相关推荐