diff --git a/Yi.Ai.Vue3/src/pages/chat/image/components/TaskCard.vue b/Yi.Ai.Vue3/src/pages/chat/image/components/TaskCard.vue index bd70f42e..c741d25f 100644 --- a/Yi.Ai.Vue3/src/pages/chat/image/components/TaskCard.vue +++ b/Yi.Ai.Vue3/src/pages/chat/image/components/TaskCard.vue @@ -47,6 +47,44 @@ async function handleDownload() { window.open(props.task.storeUrl, '_blank'); } } +// 下载方案2 +/* async function handleDownload() { + if (!props.task.storeUrl) return; + + // 显示操作选项 + const userChoice = confirm( + '由于浏览器安全限制,图片需要手动保存。\n\n' + + '点击"确定"在新窗口打开图片,然后右键选择"另存为..."。\n' + + '点击"取消"尝试直接下载(可能不成功)。' + ); + + if (userChoice) { + // 用户选择手动保存 + window.open(props.task.storeUrl, '_blank'); + } else { + // 尝试自动下载 + try { + // 创建一个临时表单提交(绕过某些限制) + const form = document.createElement('form'); + form.method = 'GET'; + form.action = props.task.storeUrl; + form.target = '_blank'; + document.body.appendChild(form); + form.submit(); + document.body.removeChild(form); + + // 同时尝试a标签 + const link = document.createElement('a'); + link.href = props.task.storeUrl; + link.download = `image-${Date.now()}.png`; + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + } catch (e) { + window.open(props.task.storeUrl, '_blank'); + } + } +} */