Javascript 使用本机文件系统API将文件保存到特定位置而无需用户交互?
我有自己的自定义系统,需要创建txt文件,以便在有新订单时打印现金收据。我需要将这些文件本地保存到计算机的特定位置,但是否有方法将文件保存到该位置而不提示用户选择文件位置?您是否可以创建自己的文件系统文件句柄类,然后将其作为句柄传递Javascript 使用本机文件系统API将文件保存到特定位置而无需用户交互?,javascript,native-file-system-api-js,Javascript,Native File System Api Js,我有自己的自定义系统,需要创建txt文件,以便在有新订单时打印现金收据。我需要将这些文件本地保存到计算机的特定位置,但是否有方法将文件保存到该位置而不提示用户选择文件位置?您是否可以创建自己的文件系统文件句柄类,然后将其作为句柄传递 $('.save').click(function() { saveToFile('from website'); }); async function saveToFile(content) { const opts = { ty
$('.save').click(function() {
saveToFile('from website');
});
async function saveToFile(content) {
const opts = {
type: 'save-file',
accepts: [
{
description: 'Text File',
extension: ['txt'],
mimeType: ['text/plain'],
}
]
}
const handle = await window.chooseFileSystemEntries(opts); // don't to that
// create custom FileSystemFileHandle and point to the file location?
const handle = FileSystemFileHandle;
const writable = await handle.createWritable();
await writable.write(content);
await writable.close();
}
文件系统访问API无法做到这一点,但具有讽刺意味的是,自动触发下载仍然是
方法的一部分
const a=document.createElement('a');
//未定义
a、 下载='example.txt';
//“example.txt”
a、 href=URL.createObjectURL(新Blob(['yolo',{type:'text/plain'}));
//“blob:https://example.com/8d494f54-499d-4f32-bdb4-ff047e8c60af"
a、 单击();
//未定义
//将文件`example.txt`下载到下载文件夹
出于安全原因,无论您如何尝试,浏览器都不允许这样做。请将您的文件存储到LocalStorage。@Keith,我想这是不可能的,但我还是想问:)在用户选择一次位置后,如何保存句柄
并将其保存/还原1。在页面之间重新加载2。浏览器重启之间?(不确定2.是否可行)是的,我使用了这个方法+名为下载路由器的Chrome扩展,它工作得很好:)