开发者社区> 问答> 正文

oss上传视频

OSSTask * putTask = [self.client putObject:put];

    
    // 上传阿里云
    [putTask continueWithBlock:^id(OSSTask *task) {
        task = [self.client presignPublicURLWithBucketName:bucketName withObjectKey:objectKey];
        
        if (!task.error) {
            NSLog(@"upload object success!");
            if (callback) {
                callback(@{@"result":task.result,@"retcode":@"0"});
//                NSLog(@"objectKey: %@", put.objectKey);
            }
            NSLog(@"result...=%@",task.result);
        } else {
            
            NSLog(@"upload object failed, error: %@" , task.error);
            if (callback) {
                callback(@{@"result":@"",@"retcode":@"1"});
            }
            dispatch_async(dispatch_get_main_queue(), ^{
//                UIWindow * window = [[[UIApplication sharedApplication] delegate] window];
//                [window makeToast:@"文件上传失败" duration:1.5 position:CSToastPositionCenter];
            });
        }
        return nil;

    }];


我使用这个方法去上传图片和视频,拿到result回调地址,打开后是报错


<Error>

<Code>NoSuchKey</Code>

<Message>The specified key does not exist.</Message>

<RequestId>5BBF2F8A1FC81033ACBB751A</RequestId>

<HostId>jyvideos.oss-cn-shenzhen.aliyuncs.com</HostId>

<Key>

Public/data/uploads/video/20181011/181FD3E726E-755A-431D-9197-81EDE917FB05.MOV

</Key>

</Error>



但返回的地址有时候也会正常能显示,下面是有效正常的图片地址,通过上传阿里云的回调

result拿到url

http://jypicture.oss-cn-shenzhen.aliyuncs.com/Public/data/uploads/cardimg/20181011/19%3A08%3A49160.jpg


这个是不正常报错的图片地址:

http://jyvideos.oss-cn-shenzhen.aliyuncs.com/Public/data/uploads/video/20181011/181FD3E726E-755A-431D-9197-81EDE917FB05.MOV




过段时间上传,回调里拿到的url又正常了,这是什么原因呢?


展开
收起
1194470455532923 2018-10-11 19:28:22 1532 0
2 条回答
写回答
取消 提交回答
  • 您好,报错为文件不存在,您可以查看oss中是否存在这个文件。

    是的,阿里云的oss里面没有这个文件,应该是上传失败了,或者文件名错了。
    2018-10-11 19:56:13
    赞同 展开评论 打赏
  • 你指的是在阿里云的oss里查看有没有这个文件吗?

    我看了,确实没有这个文件,

    我这边情况是,上传图片和视频,有时候上传成功后的回调url是正常的,能显示打开,有时候也上传成功,但回调里的url打开就提示没有这个key,找不到路径文件,请问你知道是什么原因吗?我这种是间歇性发生的问题,以为同一份代码,跑一样的逻辑,有时候正常,有时候就打开url报错

    我想知道你们怎么做上传失败的判断,我上面有些上传代码,里面是以error有没有值来判断,每次上传,error都是没有值,那就是上传成功的意思,但现在这种回调里的url打开是报错的,想不明白

    2018-10-11 19:51:13
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
OSS运维进阶实战手册 立即下载
《OSS运维基础实战手册》 立即下载
OSS运维基础实战手册 立即下载