一句话:使用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>