Firefox 中没有 showSaveFilePicker - 我可以使用什么来代替?

Mar*_*lli 9 firefox desktop webapi showsavefilepicker

我非常惊讶地发现 FF 不支持window.showSaveFilePicker

caniuse-showSaveFilePicker

我可以在 FF 中使用什么来允许以编程方式从浏览器保存文件?

也许有人可以解释一下 FF 不支持此功能的原因是什么?

Spa*_*000 2

假设您正在使用 ~2GB 以下的 blob,您始终可以使用经典的:

async function downloadBlob(inputblob) {
  const downloadelem = document.createElement("a");
  const url = URL.createObjectURL(inputblob);
  document.body.appendChild(downloadelem);
  downloadelem.src = url;
  downloadelem.click();
  downloadelem.remove();
  window.URL.revokeObjectURL(url);
}
downloadBlob(yourblob);
Run Code Online (Sandbox Code Playgroud)
这将调用用户的偏好,是否将文件直接下载到文件夹或选择放置它的位置。据我所知,如果用户将其保留为默认值(在大多数情况下是在不确认的情况下下载),则没有其他方法可以调用文件选择器。

在回答您关于为什么 Firefox 不支持它的问题时,Mozilla 并不认为该端点所属的文件系统访问规范是对网络的良好补充。你可以在这里阅读更多。