'Share file with React Native
I use { Share } from 'react-native'. I shared message successfully, no problem.
Now, I generate dynamically a PDF and save it at local. Is it possible to share the PDF like when I share an url? I didn't find solutions.
After thinking, if PDF isn't possible to share. I have the idea to create dynamically HTML file with react native, then I can share the html file, but it's the same problem. There are no informations about sharing file with { Share}.
I think it's possible with the { Share } from 'react-native' because I saw the same thing on another app on Android.
Solution 1:[1]
I had the same problem with the share of react native. I just used this library React Native Share.
And you can pass the url to the file in your file system and it will work properly:
Share.open({
title: "This is my report ",
message: "Message:",
url: "file:///storage/emulated/0/demo/test.pdf",
subject: "Report",
})
Solution 2:[2]
This seems to work with the basic Share library from React Native, as long as you have the file:// URL of your PDF file:
Share.share({
url: `file:///path/to/your/file.pdf`,
title: 'Download PDF'
})
I've only tested on iOS, so YMMV.
Solution 3:[3]
here is my code currently are used in my app for share image link:
shareMessage =async (PhotoLink) => {
try {
const result = await Share.share({
title:"title goes here",
// url:,
message: "see the photo"+JSON.stringify(PhotoLink),
});
if (result.action === Share.sharedAction) {
if (result.activityType) {
// shared with activity type of result.activityType
} else {
// shared
}
} else if (result.action === Share.dismissedAction) {
// dismissed
}
} catch (error) {
alert(error.message);
}}
...
onPress={() => this.shareMessage(this.props.route.params.url)}
the share component imported from react native; you can use the like of your PDF to share; my problem is how can I share link with a small image...you know...like telegram ... when you share a photo, like+ massage+photo will share in a frame. I don't know how!
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | David Vittori |
| Solution 2 | Alessandro |
| Solution 3 | Unico |
