你好,需求如题所述。我之前已经做过一些调查,现在卡在怎么设置 blob 的值这一块上,请求指点。
我的需求是把外网 url 的图片先拉到本地,然后通过 File 存在 LeanCloud 上。看论坛之前的回帖,只能通过 blob 的方式上传:
new AV.File('avatar.jpg', {
blob: {
uri: URL.createObjectURL(blob)
}
})
可我现在怎么把 url 的文件取下来转成对应的 blob 或 blob.uri 呢?
我尝试了两种方法:
fetch:
fetch(url).then(res => res.blob()).then(blob => {})
这样拿到的 blob,直接传会报一个什么试图修改 readOnly 对象的错,我用 'uri: URL.createObjectURL(blob)' 这种方式传能顺利传上去,但是在 LC 后台看那张图片是空白。
rn-fetch-blob
RNFetchBlob.fetch('GET', url).then(resp => {})
这个 resp 有一些方法,比如 base64(),readFile() 之类的,我没看到哪个是直接对应这里上传需要的入参 blob。我尝试过把整个 resp 当作 blob 上传,也是能顺利传上去,但上传的图片访问是空白。
请问我该怎么做呢?谢谢!