当使用文件流或文件句柄等方式上传时,该流或句柄通常会包含一个偏移量指针,如果您在通过 COS 上传前使用了该流或句柄,那么其偏移量指针可能没有指向文件的起始位置,SDK 上传时默认从该偏移量指向位置开始读取内容,因此可能导致内容被截断或直接上传了空文件。建议您检查该偏移量,在必要时手动将偏移量指向起始位置。
COS 的对象访问地址(文件 URL)使用固定格式拼接,您可参考 对象概述- 对象访问地址 进一步了解。
请您按照以下步骤进行排查:
COS 中每个对象对应一个 Etag 值,文件上传成功后会返回 String 类型的 Etag 值,上传成功返回的 Etag 不为 NULL,可以通过添加判断条件来确认文件是否上传成功。
可以在发送请求时加上携带指定 referer 的 Header,即可正常请求到对象。
生成预签名链接为本地逻辑,不会产生网络请求,因此没有额外的网络延迟,也不会产生额外的费用。当您需要获取预签名链接时,您可以在任何时候调用 SDK 的接口生成预签名链接。
预签名 URL 方法是固定的默认域名,需要您自身通过编码进行替换。
COS 中的目录是虚拟的,实际是一个以 / 结尾的对象。您可以调用上传对象接口,创建一个以 / 结尾的对象键即是一个目录。可参考 小程序 SDK 创建目录示例。
为了满足用户使用习惯,对象存储在控制台、COSbrowser 等图形化工具中模拟了「文件夹」或「目录」的展示方式,具体实现是通过创建一个键值为 project/,内容为空的对象,展示方式上模拟了传统文件夹。因此通过 SDK 获取的 ObjectList 会包含对象名以 /
结尾的空对象。
本页内容是否解决了您的问题?