文档

iOS SDK上传资源时显示上传成功但在控制台获取资源失败

更新时间:

问题描述

在OSS中使用iOS SDK上传资源时显示上传成功,但是在OSS控制台无法获取上传的资源。

问题原因

在无线网络环境中,上传比较大的文件会持续较长时间,可能会遇到因为网络条件差、用户切换网络等原因导致上传资源失败,以至于整个文件需要重新上传。

解决方案

可以参考以下几种方法优化上传操作。

断点续传

由于网络不稳定性,建议使用断点续传功能上传资源。更多信息,请参见断点续传

设置网络超时时间和重试次数

移动端可以通过在iOS SDK中编辑以下内容,设置网络超时时间和重试次数。

OSSClientConfiguration * conf = [OSSClientConfiguration new];
conf.maxRetryCount = 3; // 网络请求遇到异常失败后的重试次数
conf.timeoutIntervalForRequest = 30; // 网络请求的超时时间

设置Content-Type和MD5

设置Content-Type并开启MD5校验,如果校验失败就重新上传资源。

校验crc64值

数据在客户端和服务器之间传输时有可能会出错,OSS支持对各种方式上传的Object返回其crc64值,客户端可以和本地计算的crc64值进行对比,从而完成数据完整性的验证。更多信息,请参见crc64校验文档

开启日志功能

  • 开启OSS日志功能,方便定位上传资源时遇到的问题。

  • 移动端的使用环境比较复杂,部分区域或某个时段会出现无法正常使用OSS SDK的情况。为了进一步定位开发者遇到的问题,OSS SDK在开启日志记录功能后,会将日志信息记录在本地。在使用OSS客户端前进行初始化,并调用以下方法开启日志记录:

    • 将文件存储在沙盒的Caches文件或者OSSLogs文件夹内。

    • 可以选择性地将文件上传到服务器,便于进一步追踪问题。

  • 本页导读 (1)
文档反馈