当我在 Opera 中第二次单击时不下载文件

Does not download the file when i click secondly in Opera

我尝试在 Opera 浏览器中下载来自 API 的文件。

第一次点击下载了文件,还好,第二次点击(实际不止一个)就下载不下来了。没有错误,只是我看不到下载的文件。因此,它不会下载文件。

很快,只有第一次点击才会下载文件。为什么点击后没有下载?

此外,在 Chrome 和 Mozilla 中,每次点击都会下载该文件,这很有效。我只是在 Opera 中遇到这个错误。

我的代码;

function downloadFile(response: Response) {
  const fileName = getFileNameFromHttpResponse(response);
  const newBlob = new Blob([<any>response.body],{ type: (<any>response.body).type });
  if (window.navigator && window.navigator.msSaveOrOpenBlob) {
    window.navigator.msSaveOrOpenBlob(newBlob);
    return;
  }
  const data = window.URL.createObjectURL(newBlob);

  const link = document.createElement('a');
  link.href = data;
  link.download = fileName;
  link.dispatchEvent(new MouseEvent('click', { bubbles: true, cancelable: true, view: window }));
  setTimeout(() => {
    window.URL.revokeObjectURL(data);
  }, 100);
}

关于歌剧:Version:65.0.3467.48 System:Windows 10 64 位

如何解决这个问题?

谢谢。

解决了我的问题。 Opera 拒绝我的下载请求。我将 "Automatic Downloads" 设置为 "Allow" 并且有效。