diff --git a/frontend/share.html b/frontend/share.html index c467a17..b2793c5 100644 --- a/frontend/share.html +++ b/frontend/share.html @@ -751,7 +751,7 @@ if (file.httpDownloadUrl) { // 如果配置了HTTP下载URL,使用HTTP直接下载 console.log("[分享下载] 使用HTTP下载:", file.httpDownloadUrl); - window.open(file.httpDownloadUrl, '_blank'); + this.triggerDownload(file.httpDownloadUrl, file.name); } else { // 如果没有配置HTTP URL,通过后端SFTP下载 console.log("[分享下载] 使用SFTP下载"); @@ -775,10 +775,25 @@ downloadUrl += `&password=${encodeURIComponent(this.password)}`; } - window.open(downloadUrl, '_blank'); + this.triggerDownload(downloadUrl, file.name); } }, + // 触发下载(使用隐藏的a标签,避免页面闪动) + triggerDownload(url, filename) { + const link = document.createElement('a'); + link.href = url; + link.download = filename || ''; + link.style.display = 'none'; + document.body.appendChild(link); + link.click(); + + // 延迟移除,确保下载已触发 + setTimeout(() => { + document.body.removeChild(link); + }, 100); + }, + getFileIcon(file) { if (file.isDirectory) return 'fa-folder'; if (file.name.match(/\.(jpg|jpeg|png|gif|bmp|svg)$/i)) return 'fa-file-image';