这是我捕获屏幕截图的功能。现在我需要当前捕获的屏幕截图的路径。因为我想用邮件附加捕获的图像。所以我需要那条图像路径。我怎样才能获得图像的路径?
takeSnap() {
var albumName="ShilpaMela";
image=captureScreen({
format: "jpg",
quality: 0.8
})
.then(
uri => {
CameraRollExtended.saveToCameraRoll({
uri: uri,
album: albumName
}, 'photo')
},
error => console.error("Oops, snapshot failed", error)
);
}
handleEmail = () => {
Mailer.mail({
subject: 'Help',
recipients: ['support@example.com'],
ccRecipients: ['supportCC@example.com'],
bccRecipients: ['supportBCC@example.com'],
body: '<b>A Bold Body </b>',
isHTML: true,
attachment: {
path: this.state.imageUri, // The absolute path of the file from which to read data.
type: 'jpg', // Mime Type: jpg, png, doc, ppt, html, pdf
name: '', // Optional: Custom filename for attachment
}
}, (error, event) => {
Alert.alert(
error,
event,
[
{text: 'Ok', onPress: () => console.log('OK: Email Error Response')},
{text: 'Cancel', onPress: () => console.log('CANCEL: Email Error Response')}
],
{ cancelable: true }
)
});
}
答案 0 :(得分:0)
您可以从state
uri
的路径
takeSnap() {
var albumName="ShilpaMela";
image=captureScreen({
format: "jpg",
quality: 0.8
})
.then(
uri => {
this.setState({imageUri: uri}) //save path
CameraRollExtended.saveToCameraRoll({
uri: uri,
album: albumName
}, 'photo')
},
error => console.error("Oops, snapshot failed", error)
);
}
并使用this.state.imageUri
P.S :确保takeSnap
函数bind
为this