Как поделиться видео напрямую в Facebook / Instagram / Twitter по ссылке с помощьюact-native. Я использую реагирующий нативный ресурс для обмена видео на Instagram / Facebook, но он становится ссылкой в виде ссылки, но я хочу поделиться ими как видео, как это делает TikTok.
Как мне этого добиться? Я знаю, что это возможно путем преобразования его в base 64, так есть ли какие-либо библиотеки, которые конвертируют ссылки в base 64 напрямую? В противном случае мне нужно было бы сначала загрузить его, затем извлечь, а затем преобразовать в базу 64, а затем поделиться им.
Пожалуйста, помогите!
Ответит, как я это сделал, если кому-то понадобится полный код:
shareURL = async (socialMedia) => {
let facebook = socialMedia === 'facebook'
let twitter = socialMedia === 'twitter'
const { video, uploadingStatus } = this.state;
this.setState({ isSliderModalVisible: true }, async () => {
let uploadOptions = { fileCache: true, appendExt: 'mp4', timeout: 60000, indicator: true, IOSBackgroundTask: true, }
const res = await RNFetchBlob.config(uploadOptions).fetch('GET', video, {})
.progress((received, total) => {
this.setState({ uploadingStatus: (received / total) * 100 })
console.log('Progress', (received / total) * 100);
})
const filePath = res.path(); //to delete video
const base64String = await res.base64();
const url = `data:video/mp4;base64,${base64String}`;
await RNFetchBlob.fs.unlink(filePath); //deleted the video from path of celebfie.
this.setState({ isSliderModalVisible: false })
setTimeout(() => {
const shareOptions = {
title: 'Celebfie',
message: hashtags,
subject: 'Sharing my intro video which I recorded in Celebfie.',
url: url,
type: 'video/mp4',
social: facebook ? Share.Social.FACEBOOK : twitter ? Share.Social.TWITTER : Share.Social.INSTAGRAM
};
Share.shareSingle(shareOptions).then((res) => this.setState({ sharedVideoToSocialNetwork: true }))
.catch((err) => { Global.customToast('Video sharing failed.', 'failure') })
})
}, 1000);
}