diff --git a/frontend/app/agency/briefs/[id]/page.tsx b/frontend/app/agency/briefs/[id]/page.tsx index 44fd2b7..179ade0 100644 --- a/frontend/app/agency/briefs/[id]/page.tsx +++ b/frontend/app/agency/briefs/[id]/page.tsx @@ -417,10 +417,19 @@ export default function BriefConfigPage() { return } try { - const signedUrl = await api.getSignedUrl(file.url, 3600, true) - window.open(signedUrl, '_blank') + const signedUrl = await api.getSignedUrl(file.url) + const resp = await fetch(signedUrl) + const blob = await resp.blob() + const blobUrl = URL.createObjectURL(blob) + const a = document.createElement('a') + a.href = blobUrl + a.download = file.name + document.body.appendChild(a) + a.click() + document.body.removeChild(a) + URL.revokeObjectURL(blobUrl) } catch { - toast.error('获取下载链接失败') + toast.error('下载失败') } } @@ -660,10 +669,19 @@ export default function BriefConfigPage() { return } try { - const signedUrl = await api.getSignedUrl(file.url, 3600, true) - window.open(signedUrl, '_blank') + const signedUrl = await api.getSignedUrl(file.url) + const resp = await fetch(signedUrl) + const blob = await resp.blob() + const blobUrl = URL.createObjectURL(blob) + const a = document.createElement('a') + a.href = blobUrl + a.download = file.name + document.body.appendChild(a) + a.click() + document.body.removeChild(a) + URL.revokeObjectURL(blobUrl) } catch { - toast.error('获取下载链接失败') + toast.error('下载失败') } }