@clipto/upload-browser
v0.1.0
Published
Browser upload transport and Safari multipart cache adapters for @clipto/uploader
Readme
@clipto/upload-browser
Clipto 浏览器上传适配包,为 @clipto/[email protected] 提供 XHR 传输错误归一、Blob 直传,以及可注入存储的 Safari multipart 字节缓存。
安装
pnpm add @clipto/upload-browser @clipto/[email protected] [email protected]使用
import {
createBrowserUploadHttpClient,
createLocalBlobUploader,
createSafariUploadCacheManager,
} from "@clipto/upload-browser";
const cache = createSafariUploadCacheManager({
storage: {
get: (key) => indexedStorage.get(key),
set: (key, value) => indexedStorage.set(key, value),
remove: (key) => indexedStorage.remove(key),
},
});
const uploader = createLocalBlobUploader(
{
signatureApi,
httpClient: createBrowserUploadHttpClient(),
},
{ safariCache: cache },
);签名接口、任务持久化、业务上报与具体 IndexedDB 实现由宿主注入,本包不包含这些职责。Safari descriptor 保持 version: 1 wire shape;恢复源应同时向 uploader 注入创建它的 cache manager。
公共接口
运行时导出:
createBrowserUploadHttpClientcreateLocalBlobUploadercreateSafariUploadCacheManagercreateSafariUploadSourceisSafariUploadSourceisSafariUploadCacheDescriptorisSafariMultipartCacheEligible
类型导出:
UploadPartStorageSafariUploadCacheDescriptorSafariUploadSourceSafariUploadCacheManager
风险
Blob 直传、multipart 重试分类及 Safari 虚拟源读取依赖 @clipto/[email protected] 的私有方法。接点缺失时会尽量降级为普通 SDK 实例,但升级 uploader 前必须重新验证真实 XHR、重试和恢复流程。
