跳到主要内容

RxdbFileStorage

Defined in: packages/rxdb-plugin-storage/src/storage.service.ts:254

Constructors

Constructor

new RxdbFileStorage(
rxdb,
options?,
entityType?,
objectUrls?): RxdbFileStorage;

Defined in: packages/rxdb-plugin-storage/src/storage.service.ts:271

Parameters

ParameterTypeDefault value
rxdbRxDBundefined
optionsRxDBStoragePluginOptions{}
entityTypetypeof StorageFileMetaStorageFileMeta
objectUrlsObjectUrlRegistry...

Returns

RxdbFileStorage

Accessors

activeObjectUrlCount

Get Signature

get activeObjectUrlCount(): number;

Defined in: packages/rxdb-plugin-storage/src/storage.service.ts:267

Returns

number

Methods

clear()

clear(path?): Promise<void>;

Defined in: packages/rxdb-plugin-storage/src/storage.service.ts:648

Parameters

ParameterType
path?string

Returns

Promise<void>


createDirectory()

createDirectory(name, options?): Promise<string>;

Defined in: packages/rxdb-plugin-storage/src/storage.service.ts:504

Parameters

ParameterType
namestring
optionsCreateDirectoryOptions

Returns

Promise<string>


createObjectUrl()

createObjectUrl(fileId): Promise<string>;

Defined in: packages/rxdb-plugin-storage/src/storage.service.ts:389

Parameters

ParameterType
fileIdstring

Returns

Promise<string>


delete()

delete(fileId): Promise<void>;

Defined in: packages/rxdb-plugin-storage/src/storage.service.ts:627

Parameters

ParameterType
fileIdstring

Returns

Promise<void>


destroy()

destroy(): void;

Defined in: packages/rxdb-plugin-storage/src/storage.service.ts:680

Returns

void


download()

download(fileId, options?): Promise<void>;

Defined in: packages/rxdb-plugin-storage/src/storage.service.ts:398

Parameters

ParameterType
fileIdstring
optionsDownloadOptions

Returns

Promise<void>


fetch()

fetch(opfsPath, options): Promise<Blob>;

Defined in: packages/rxdb-plugin-storage/src/storage.service.ts:348

从远程 URL 拉取资源并持久化到 OPFS。

行为:

  • opfsPath 已存在缓存,直接返回缓存 Blob,不发请求(永久缓存,不做 ETag/TTL 判定)。
  • 同一路径的并发调用共享同一 in-flight Promise;mimeType 不一致的后到 caller 会等 in-flight 完成后从缓存读取(此时 OPFS 已就绪),独立应用自己的 mimeType 返回 — 但 不会修改已落盘的 meta.mimeType:首个完成的 caller 决定 meta 上的 mime。
  • navigator.onLine === false 立即抛 StorageOfflineError
  • 响应 MIME 取 options.mimeType ?? Content-Type 头(自动 strip 参数);两者都缺抛 StorageMimeTypeMissingError
  • options.signal 已 abort 立即抛 AbortError,下载中途 abort 不会污染缓存。

Parameters

ParameterTypeDescription
opfsPathstringOPFS 内的相对路径(如 images/foo.png),将规范化后作为缓存 key。
optionsFetchRemoteOptionsFetchRemoteOptions

Returns

Promise<Blob>

持久化到 OPFS 的 Blob,type 等于最终 MIME。

Remark

cached 命中分支:options.mimeType 仅影响本次返回 Blob 的 type, 不修改已存的 meta.mimeType;下次通过 read(meta.id) 读取仍是原 mime。


getMeta()

getMeta(fileId): Promise<StorageFileMeta | null>;

Defined in: packages/rxdb-plugin-storage/src/storage.service.ts:445

Parameters

ParameterType
fileIdstring

Returns

Promise<StorageFileMeta | null>


init()

init(): Promise<void>;

Defined in: packages/rxdb-plugin-storage/src/storage.service.ts:278

Returns

Promise<void>


list()

list(options?): Promise<StorageFileMeta[]>;

Defined in: packages/rxdb-plugin-storage/src/storage.service.ts:450

Parameters

ParameterType
optionsListOptions

Returns

Promise<StorageFileMeta[]>


listEntries()

listEntries(options?): Promise<StorageBrowserEntry[]>;

Defined in: packages/rxdb-plugin-storage/src/storage.service.ts:461

Parameters

ParameterType
optionsListOptions

Returns

Promise<StorageBrowserEntry[]>


preview()

preview(fileId): Promise<StoragePreviewResult>;

Defined in: packages/rxdb-plugin-storage/src/storage.service.ts:379

Parameters

ParameterType
fileIdstring

Returns

Promise<StoragePreviewResult>


read()

read(fileId): Promise<Blob>;

Defined in: packages/rxdb-plugin-storage/src/storage.service.ts:320

Parameters

ParameterType
fileIdstring

Returns

Promise<Blob>


rename()

rename(
fileId,
newName,
options?): Promise<StorageFileMeta>;

Defined in: packages/rxdb-plugin-storage/src/storage.service.ts:512

Parameters

ParameterType
fileIdstring
newNamestring
optionsRenameOptions

Returns

Promise<StorageFileMeta>


renameDirectory()

renameDirectory(
directoryPath,
newName,
options?): Promise<string>;

Defined in: packages/rxdb-plugin-storage/src/storage.service.ts:554

Parameters

ParameterType
directoryPathstring
newNamestring
optionsRenameOptions

Returns

Promise<string>


revokeObjectUrl()

revokeObjectUrl(url): void;

Defined in: packages/rxdb-plugin-storage/src/storage.service.ts:394

Parameters

ParameterType
urlstring

Returns

void


upload()

upload(file, options?): Promise<StorageFileMeta>;

Defined in: packages/rxdb-plugin-storage/src/storage.service.ts:282

Parameters

ParameterType
fileFile
optionsUploadOptions

Returns

Promise<StorageFileMeta>


watch()

watch(fileId): Observable<StorageFileMeta | null>;

Defined in: packages/rxdb-plugin-storage/src/storage.service.ts:634

Parameters

ParameterType
fileIdstring

Returns

Observable<StorageFileMeta | null>