开发者社区> 问答> 正文

OSS Blob 浏览器上传

lakeeast 2017-09-06 12:50:50 2326

第一次用阿里云,碰到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的浏览器上传?请问怎么做?谢谢!

JavaScript 对象存储
分享到
取消 提交回答
全部回答(4)
  • 夏夜初晗
    2019-07-17 21:33:54

    解决了吗?遇到同样问题

    0 0
  • 那看你和
    2019-07-17 21:33:54

    题主有没有解决这个问题啊?我现在也遇到这个问题了

    0 0
  • lakeeast
    2019-07-17 21:33:54

    这个回答没有用,谈的是nodejs。我的问题是关于浏览器。

    0 0
  • dongshan8
    2019-07-17 21:33:54

    题主您好,

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

    0 0
添加回答
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

推荐文章
相似问题
推荐课程