feat(assets): 使用 file-saver 库优化文件下载功能

- 引入 file-saver 库替代手动创建下载链接的方式
- 在 asset-transfer.ts 中使用 saveAs 替代 URL.createObjectURL 和手动点击链接
- 在 canvas-export.ts 中使用 saveAs 替代原有的文件下载逻辑
- 更新 package.json 添加 file-saver 依赖
- 更新 bun.lock 文件同步依赖变更
This commit is contained in:
HouYunFei
2026-05-26 13:21:52 +08:00
parent 9311b8a92b
commit de25ef515e
8 changed files with 22 additions and 28 deletions
+2 -4
View File
@@ -5,6 +5,7 @@ import { useEffect, useRef, useState } from "react";
import { App, Button, Checkbox, Drawer, Empty, Input, Modal, Tag, Typography } from "antd";
import localforage from "localforage";
import { nanoid } from "nanoid";
import { saveAs } from "file-saver";
import { AssetPickerModal, type InsertAssetPayload } from "@/app/(user)/canvas/components/asset-picker-modal";
import { ModelPicker } from "@/components/model-picker";
@@ -181,10 +182,7 @@ export default function VideoPage() {
};
const downloadVideo = (video: GeneratedVideo) => {
const link = document.createElement("a");
link.href = video.url;
link.download = "video.mp4";
link.click();
saveAs(video.url, "video.mp4");
};
const saveResultToAssets = (video: GeneratedVideo) => {