开发者社区> 问答> 正文

OSS Blob 浏览器上传

第一次用阿里云,碰到N多问题! 希望有专家帮助解答。

我有一个浏览器里运行的JS程序,生成的Blob需要上传至OSS。 引用http://gosspublic.alicdn.com/aliyun-oss-sdk.min.js开展调用。如果直接调用client.multipartUpload(key, blob。。。),则会报一个只支持 File, String或Buffer的错。

我则尝试把Blob转为File, 即var file = new File([blob], “test”),然后调用client.multipartUpload(key, file。。。),但也报错,错误信息不明确,估计还是FIle的底层仍是Blob,不支持的缘故。

后来我试图把Blob转为string,即用fileReader.readAsBinaryString(blob), 在callback里传回一个string, 然后调client.put(key, new Buffer(myString))。文件是上传上去了,但下载一看,大小不对,不知道是不是binary在某个环节变成了普通字符的缘故。

然后我试着用Buffer。但我的程序是浏览器程序,不是NodeJS,把Blob转为ArrayBuffer再转为Buffer还是不行,也报错。

OSS支不支持Blob的浏览器上传?请问怎么做?谢谢!

展开
收起
lakeeast 2017-09-06 12:50:50 7720 0
4 条回答
写回答
取消 提交回答
  • 解决了吗?遇到同样问题

    2019-07-17 21:33:54
    赞同 展开评论 打赏
  • 题主有没有解决这个问题啊?我现在也遇到这个问题了

    2019-07-17 21:33:54
    赞同 展开评论 打赏
  • 这个回答没有用,谈的是nodejs。我的问题是关于浏览器。

    2019-07-17 21:33:54
    赞同 展开评论 打赏
  • 旺旺:nectar2。

    题主您好,

    这个问答能为您提供一些启示吗?yq.aliyun.com/ask/33861

    2019-07-17 21:33:54
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
WEB浏览器中即将发生的安全变化 立即下载
基于浏览器的实时构建探索之路 立即下载
基于浏览器的实时构建探索之路--玄寂 立即下载