diff --git a/packages/frontend/workspace/src/blob/storage/affine-cloud.ts b/packages/frontend/workspace/src/blob/storage/affine-cloud.ts index 91ffa92a4..a1c23f54b 100644 --- a/packages/frontend/workspace/src/blob/storage/affine-cloud.ts +++ b/packages/frontend/workspace/src/blob/storage/affine-cloud.ts @@ -8,6 +8,7 @@ import { import { fetcher } from '@affine/workspace/affine/gql'; import type { BlobStorage } from '../engine'; +import { bufferToBlob } from '../util'; export const createAffineCloudBlobStorage = ( workspaceId: string @@ -26,7 +27,7 @@ export const createAffineCloudBlobStorage = ( // status not in the range 200-299 return undefined; } - return await res.blob(); + return bufferToBlob(await res.arrayBuffer()); } ); }, diff --git a/packages/frontend/workspace/src/blob/storage/indexeddb.ts b/packages/frontend/workspace/src/blob/storage/indexeddb.ts index 66973bd28..ce5fb35bf 100644 --- a/packages/frontend/workspace/src/blob/storage/indexeddb.ts +++ b/packages/frontend/workspace/src/blob/storage/indexeddb.ts @@ -1,6 +1,7 @@ import { createStore, del, get, keys, set } from 'idb-keyval'; import type { BlobStorage } from '../engine'; +import { bufferToBlob } from '../util'; export const createIndexeddbBlobStorage = ( workspaceId: string @@ -13,7 +14,7 @@ export const createIndexeddbBlobStorage = ( get: async (key: string) => { const res = await get(key, db); if (res) { - return new Blob([res], { type: await get(key, mimeTypeDb) }); + return bufferToBlob(res); } return undefined; },