我使用react-native-share在环聊,whatsapp等分享内容......这是我尝试的代码,
我导入了
import RNFetchBlob from 'react-native-fetch-blob';
import Share from 'react-native-share';
所以使用RNFetchblob将图片网址转换为base64,并添加了基于api的依赖项。
_downloadImageAndShare(title, message, url) {
const { fs } = RNFetchBlob.fs;
var self = this;
RNFetchBlob.config({ fileCache: true })
.fetch('GET', url)
.then(resp => {
return resp.readFile('base64')
.then(base64 => {
return { resp, base64 };
})
})
.then(obj => {
console.log(obj)
var headers = obj.resp.respInfo.headers;
var type = headers['Content-Type'];
var dataUrl = 'data:' + type + ';base64,' + obj.base64;
console.log('dataurl is', dataUrl)
return { title, message, url: dataUrl };
})
.then(options => {
return Share.open(options);
console.log('options is', options)
}).catch(err => {err && console.log(err); })
}
<ShareIcon onTrigger={ () => this._downloadImageAndShare('sample', `${title} sample. More http://www.sample.com`, shareImage) } white={!!whiteIcon} />
这里我得到了以base64格式转换的响应图片网址。我想分享内容,链接和图像。这些程序在iOS中运行良好。
但是在android图像中没有得到分享。