我正在使用 react-native-share 在环聊、whatsapp 等中分享一些东西......这是我尝试过的代码,
我进口了
import RNFetchBlob from 'react-native-fetch-blob';
import Share from 'react-native-share';
所以使用RNFetchblob将图片url转换为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} />
在这里,我将响应图像 url 转换为 base64 格式。我想分享内容、链接和图像。这些程序在 iOS 中运行良好。
但在 android 图像中没有得到共享。