# CameraTransfer ## 职责 编排相机照片从下载到上传的通用流程,通过 `CameraAssetUploadSink` 与业务层解耦。 ## 核心组件 | 组件 | 说明 | | --- | --- | | `CameraTransferPipeline` | 监听 `onNewAsset`、管理任务队列与上传 | | `CameraTransferTask` | 单条传输任务及状态 | | `CameraAssetUploadSink` | 上传协议,由业务模块实现 | ## 业务流程 1. 相机服务回调 `onNewAsset`。 2. Pipeline 下载文件到本地并更新任务状态。 3. 若开启自动上传,调用 `CameraAssetUploadSink.upload`。 4. 上传成功后任务状态变为 `uploaded`。 ## 与业务层关系 - 旅拍相册通过 `TravelAlbumMaterialUploader` 实现 Sink:OSS 上传 + `upload-material` 登记。 - Pipeline 不依赖任何 HTTP 或 OSS 具体实现。