发布表单登记截图预览地址
- useGameDistributionPublishForm 的 createPanelScreenshotEntry 把生成的 blob 地址加入 objectUrlsRef,删除截图与卸载时的回收分支终于能命中
This commit is contained in:
+5
-1
@@ -428,10 +428,14 @@ export function useGameDistributionPublishForm({
|
||||
|
||||
function createPanelScreenshotEntry(file: File): PanelScreenshotEntry {
|
||||
const fileError = resolvePanelImageFileError(file, 'screenshot');
|
||||
const previewUrl = buildPanelImagePreviewUrl(file);
|
||||
// 与封面走同一条登记:不登记的话 `removeScreenshot` 的 revoke 分支永远命中不了,
|
||||
// 卸载清理也遍历不到这些地址,截图预览会一直泄漏到页面关闭。
|
||||
if (previewUrl) objectUrlsRef.current.add(previewUrl);
|
||||
return {
|
||||
id: createPanelScreenshotId(),
|
||||
name: file.name.trim() || '游戏截图',
|
||||
previewUrl: buildPanelImagePreviewUrl(file),
|
||||
previewUrl,
|
||||
assetObjectId: null,
|
||||
status: fileError ? 'failed' : 'uploading',
|
||||
error: fileError || null,
|
||||
|
||||
Reference in New Issue
Block a user