fix: SFTP下载使用新窗口打开直链
- app.js downloadFile: SFTP有直链时用window.open新窗口打开 - share.html downloadFile: 分享页面同样处理 - 本地存储下载保持原有方式不变 - 解决HTTPS页面下载HTTP直链的Mixed Content问题 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -2541,6 +2541,6 @@
|
|||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<script src="app.js?v=20251127001"></script>
|
<script src="app.js?v=20251127003"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -983,11 +983,15 @@ handleDragLeave(e) {
|
|||||||
|
|
||||||
downloadFile(file) {
|
downloadFile(file) {
|
||||||
console.log("[DEBUG] 下载文件:", file);
|
console.log("[DEBUG] 下载文件:", file);
|
||||||
const url = file.httpDownloadUrl
|
|
||||||
? file.httpDownloadUrl
|
|
||||||
: `${this.apiBase}/api/files/download?path=${encodeURIComponent(this.currentPath === '/' ? `/${file.name}` : `${this.currentPath}/${file.name}`)}`;
|
|
||||||
|
|
||||||
// 统一通过隐藏链接触发下载,避免弹出新窗口
|
// SFTP存储且有HTTP直链,新窗口打开直接下载(避免Mixed Content问题)
|
||||||
|
if (file.httpDownloadUrl) {
|
||||||
|
window.open(file.httpDownloadUrl, '_blank');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 本地存储,使用隐藏链接触发下载
|
||||||
|
const url = `${this.apiBase}/api/files/download?path=${encodeURIComponent(this.currentPath === '/' ? `/${file.name}` : `${this.currentPath}/${file.name}`)}`;
|
||||||
const link = document.createElement('a');
|
const link = document.createElement('a');
|
||||||
link.href = url;
|
link.href = url;
|
||||||
link.setAttribute('download', file.name);
|
link.setAttribute('download', file.name);
|
||||||
|
|||||||
@@ -752,9 +752,10 @@
|
|||||||
.catch(err => console.error('记录下载次数失败:', err));
|
.catch(err => console.error('记录下载次数失败:', err));
|
||||||
|
|
||||||
if (file.httpDownloadUrl) {
|
if (file.httpDownloadUrl) {
|
||||||
// 如果配置了HTTP下载URL,使用HTTP直接下载
|
// 如果配置了HTTP下载URL,新窗口打开直接下载(避免Mixed Content问题)
|
||||||
console.log("[分享下载] 使用HTTP下载:", file.httpDownloadUrl);
|
console.log("[分享下载] 使用HTTP下载:", file.httpDownloadUrl);
|
||||||
this.triggerDownload(file.httpDownloadUrl, file.name);
|
window.open(file.httpDownloadUrl, '_blank');
|
||||||
|
return;
|
||||||
} else {
|
} else {
|
||||||
// 如果没有配置HTTP URL,通过后端SFTP下载
|
// 如果没有配置HTTP URL,通过后端SFTP下载
|
||||||
console.log("[分享下载] 使用SFTP下载");
|
console.log("[分享下载] 使用SFTP下载");
|
||||||
|
|||||||
Reference in New Issue
Block a user