用户在Web应用程序中的“保存”,“下载”和“打开”之间的混淆

问题描述

我的Web应用程序允许用户通过下载文件来“保存”文件,如下所述(Source)。

但是,像Firefox这样的浏览器在其认设置下会尝试打开文件,并显示“正在打开filename.json”,而不是“正在保存文件”。虽然我知道这样做的原因是浏览器试图按这种方式立即打开下载的文件,但是这使我的用户感到困惑,因为对于同一用户,现在有三个不同的词(“下载”,“保存”,“打开”)操作,他们不知道他们是否选择了错误的设备。还有一个加载选项,用户可以上传保存的数据以将其加载到应用程序中,从而增加了混乱。

是否有任何方法告诉浏览器停止尝试打开文件(无论如何它都无法执行,这是该Web应用程序的自定义格式),还是有其他方法可以使用户更加清晰?

export function saveJson(data,fileName)
{
  if(a===null)
  {
    a = document.createElement("a");
    document.body.appendChild(a);
    a.style = "display: none";
  }
  const json = JSON.stringify(data);
  const blob = new Blob([json],{type: "application/json"});
  const url = window.URL.createObjectURL(blob);
  a.href = url;
  a.download = fileName;
  a.click();
  window.URL.revokeObjectURL(url);
  log.debug("JSON File saved: "+fileName);
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)