我把获取
OSSFederationToken的服务端程序关掉了,debug程序时, 确认: 
credentialProvider的 cachedtoken为空,然后
初始化客户端
 
client
 = [[
OSSClient
 
alloc
] initWithEndpoint
:
endPoint
 credentialProvider
:credential2 clientConfiguration
:conf];
再执行上传动作,按理说 没有token,而执行上传
[
client
 
putObject
:put];的话:
putTask.
error
应该报错啊,现在是上传不成功,但是putTask.error为空,不报错,所以程序认为上传已经成功了,这个获取不到FederationToken导致上传失败的情况怎么handle呢? 请教各位大神帮忙解答,谢谢!
  
//上传文件
        OSSPutObjectRequest
 * put = [OSSPutObjectRequest
 
new
];
        
        // required fields
        put.
bucketName = bucketname;
        put.
objectKey = [uploadarray 
objectAtIndex:i];
        
NSString *photoname=[put.
objectKey 
lastPathComponent];
        put.
uploadingFileURL
 = [
NSURL
 fileURLWithPath
:[tempdir stringByAppendingPathComponent
:photoname]];
        
        // optional fields
        put.
uploadProgress = ^(
int64_t bytesSent, 
int64_t totalByteSent, 
int64_t totalBytesExpectedToSend) {
            
NSLog(
@"%lld, %lld, %lld", bytesSent, totalByteSent, totalBytesExpectedToSend);
        };
        put.
contentType = 
@"";
        put.
contentMd5 = 
@"";
        put.
contentEncoding = 
@"";
        put.contentDisposition
 = 
@""
;
        
        
OSSTask * putTask = [
client 
putObject:put];
        
        [putTask 
waitUntilFinished]; 
// 
[font='Heiti SC Light']阻塞直到上传完成
        
        
if (!putTask.
error) {
           
            
NSLog
(@"upload [font='Heiti SC Light']文件 %d success!"
,i);
            
//
[font='Heiti SC Light']上传成功,将文件
         } 
else {
            
            
NSLog
(@"upload [font='Heiti SC Light']文件 %d failed, error: %@"
 ,i, putTask.
error
);
            uploadresult=
0;
             
break;
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
-------------------------
-------------------------
-------------------------
那问下,你说的 “获取OSSFederationToken的服务端程序关掉” 之后,确认[[OSSFederationCredentialProvider alloc] initWithFederationTokenGetter:^OSSFederationToken * {...} 的 OSSFederationToken Block一直返回nil吗?
可以加一句话打印下。我这边确认如果block返回nil,是会报错的。
-------------------------
麻烦确认下sdk版本
-------------------------
建议提交工单吧,把能复现的demo提交给客服处理。或者,把能复现的demo打包上传,这里贴链接我去下载来试一下。