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';