4

我正在使用 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 图像中没有得到共享。

4

0 回答 0