# Files

Files 相关 API。

 - [POST /api/cloudphone/uploadFile](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/files/fileuploadusing.md): 把本地文件直接上传到云手机（旧版分片流程）。 - **前置条件**：云手机必须已开机且未被其他成员占用。从签名地址步骤取得的上传码是一次性的。 - **完成信号**：响应仅表示 Local API 已接受此次传输。**不暴露任务 ID，也没有轮询状态**，因此无法观察进度。 - **改用**：当你需要可观察的进度与重试处理时，请走 `/api/cloudphone/upload/file/sign
 - [POST /api/cloudphone/upload/file/signedUrl](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/files/getcloudphoneuploadsignedurllocal.md): 申请一个预签名 URL，用于上传将要发送给云手机的文件。 - **前置条件**：云手机必须已开机且未被其他成员占用。 - **完成信号**：同步。**预签名 URL 有效期为一小时。** 用 `PUT` 把文件内容上传到该地址，然后调用 `/api/cloudphone/upload/file` 登记。 - **说明**：临时对象会在 7 天后自动删除。 - **接口面说明**：与 Open AP
 - [POST /api/cloudphone/upload/file](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/files/uploadcloudphonefilebyurllocal.md): 登记一个已上传的文件，让云手机去下载它。 - **前置条件**：云手机必须已开机且未被其他成员占用，且**该对象必须已经存在于给定 URL**——服务会去探测它，读不到就拒绝请求。直播素材必须是 MP4，且目标机型需支持直播。 - **完成信号**：**已受理，未完成。** 响应返回 `fileId` 和一个进行中状态；请轮询 `/api/cloudphone/upload/file/result
 - [POST /api/cloudphone/upload/file/result](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/files/getcloudphoneuploadresultlocal.md): 轮询文件上传到云手机的状态。 - **取值**：`0` 上传中，`1` 成功，`2` 失败。 - **空结果**：找不到该 `fileId` 时调用仍然成功，但 `data` 为 null。请把它理解为「尚未可见或已不存在」，而不是失败。 - **开销**：该查询会扫描设备服务的文件列表；请以适度间隔轮询。 - **接口面说明**：与 Open API 的 `/cloudphone/uploadF
 - [POST /api/cloudphone/download](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/files/downloadcloudphonefilelocal.md): 从云手机下载文件。 - **前置条件**：云手机必须已开机且未被其他成员占用。 - **副作用**：服务端先扫描父目录再启动传输，因此路径不存在会在**这一步**失败，而不是在状态轮询时。目标必须是普通文件，不能是目录。 - **完成信号**：**已受理，未完成。** 响应返回 `downId`；轮询 `/cloudphone/download/result` 直到状态为成功、失败或已取消。该状态
 - [POST /api/cloudphone/download/result](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/files/getcloudphonedownloadresultlocal.md): 轮询云手机文件导出任务的状态。 - **前置条件**：云手机必须已开机且未被其他成员占用。传入下载请求返回的 `downId`。 - **取值**：**与上传是另一套刻度**——`10` 进行中，`20` 成功，`30` 失败，`40` 已取消。只有成功后 `downUrl` 才有值。 - **说明**：「文件不存在」由下载请求本身报出（它会先扫描父目录），不是由本接口报出。
 - [POST /api/cloudphone/setKeyBox](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/files/setcloudphonekeyboxlocal.md): 在云手机上安装 keybox 证书。 - **前置条件**：`filePath` 必须指向一个 `.xml` 文件，且云手机必须已开机且未被其他成员占用。 - **副作用**：把证书路径交给设备服务。MoreLogin 不做存储，服务也没有定义生效步骤——设备是否需要重启才能让证书生效属于设备行为。 - **完成信号**：设备服务同步受理。没有接口能回报已安装的证书。
