当我在 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" 并且有效。
我尝试在 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" 并且有效。