开发者社区> 问答> 正文

OSSTaskHandler 上传文件错误

我使用OSSClient (compat)中的resumableUploadFile:withContentType:withObjectMeta:接口把文件上送到OSS,已经在client里面指定了endPoint,也在上述接口里面传入了bucketName和key,但在回调里面收到了这样的error信息:

Error Domain=com.aliyun.oss.clientError Code=6 "不支持的 URL" UserInfo={OriginErrorCode=-1002, NSErrorFailingURLStringKey=(null)://(null)/v_b901d7bd30104fae9a41730d89423a5f.mp4?uploads, NSErrorFailingURLKey=(null)://(null)/v_b901d7bd30104fae9a41730d89423a5f.mp4?uploads, NSUnderlyingError=0x12a3bcf90 {Error Domain=kCFErrorDomainCFNetwork Code=-1002 "(null)"}, NSLocalizedDescription=不支持的 URL}
使用的OSS SDK是最新的2.1.3,请问为什么会出现这样的问题?


另外,有关2.1.3的新的文件断点续传接口,我有以下的问题不太理解,而且文档里面也没有提到:
1:uploadId会不会有失效时间?
2:如果我取到了一个uploadId上传文件,但是没记录这个uploadId,我下一次取会不会是一个不同的uploadId?如果是一个不同的uploadId,上传同一个文件的时候会不会报错?还是直接从进度0开始上传?

展开
收起
aozorany 2015-12-14 16:00:08 9565 0
3 条回答
写回答
取消 提交回答
  • ReOSSTaskHandler 上传文件错误
    我今天也遇到这个问题,一开始还怀疑是endpoint要加上http头才可以。我使用的是从官网上下的Framework,另外为了看源码Debug,还从github上下载了一份Code。
    但是看了下OSSClient初始化的地方,源码中有http头的容错处理。
    后来,无意中Debug client的endpoint,发现根本没有加上去,所以主动加了后,可以了。


    官网上的Framework能不能更新下,坑人啊。主要是你们github上代码更新过,为什么官网上的Framework不一并更新下。
    2015-12-16 15:08:18
    赞同 展开评论 打赏
  • 回 1楼克劳德小弟的帖子
    你好,感谢回复。
    我设置的endPoint是oss-cn-shenzhen.aliyuncs.com

    -------------------------

    ReOSSTaskHandler 上传文件错误
    另外,请看我贴出来的异常描述里面的以下内容:
    NSErrorFailingURLStringKey=(null)://(null)/v_b901d7bd30104fae9a41730d89423a5f.mp4?uploads
    这个是SDK返回给我的,拼接字符串的时候把两个空字符串拼在了一起。

    -------------------------

    ReOSSTaskHandler 上传文件错误

    如果在OSSTaskHandler里面出错,会直接抛BAD_ACCESS,请看上图。

    -------------------------

    回 5楼克劳德小弟的帖子
    我试着把endPoint前面加上了http://,看来还真是这个问题,谢谢。
    2015-12-14 17:24:01
    赞同 展开评论 打赏

  • 请问你设置了什么样的endpoint,麻烦贴一下初始化代码看看,感觉还是endpoint的问题;

    另外:
    1. 如果分块上传未完成,也不删除这个uploadId,那么这个uploadId一直不会失效;
    2. 每一次调用InitMultipartUpload,都拿到一个新的uploadId。如果是不同的uploadId,上传从进度0开始。

    -------------------------

    看到了,最好也麻烦你贴一下初始化代码看看,这样比较确定。

    另外,在此前的版本,endpoint需要完整的“http://oss-cn-shenzhen.aliyuncs.com”,为了避免版本弄混导致问题,你可以把endpoint设置为”http://oss-cn-shenzhen.aliyuncs.com“试试。

    2015-12-14 16:29:03
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

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