开发者社区> 问答> 正文

OSSPutObjectRequest 上传文件报session无效

1.使用OSSPutObjectRequest上传文件时
返回的错误信息:

error: Error Domain=com.aliyun.oss.clientError Code=9 "(null)" UserInfo={ErrorMessage=Catch exception - Task created in a session that has been invalidated}

2.使用
OSSResumableUploadRequest上传文件,不会出现上述错误,可以成交上传;

备:两种上传模式前获取STS都是同一个函数,STS是正常的。


展开
收起
wine 2018-09-17 19:08:47 5209 0
1 条回答
写回答
取消 提交回答
  • 一个喜欢在各个技术领域到处浪的人

    我也踩坑了。要确保 OSSClient 的实例不能释放。

    // 需要由全局变量来hold住,不然立刻就释放了,task会error
    g_client = [[OSSClient alloc] initWithEndpoint:kEndpoint credentialProvider:credential];
    OSSTask *task = [g_client putObject:request];
    [task continueWithBlock:^id _Nullable(OSSTask * _Nonnull task) {
        if (task.error) {
            onFinished(task.error.localizedDescription);
        } else {
            onFinished(nil);
        }
      return nil;
    }];
    
    2019-09-23 16:08:14
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载