我目前正在尝试通过我的 React native 应用程序从用户设备发送电子邮件。 这样做的过程很简单。用户填写一些输入字段,选择一张图片(新的或来自图库)并继续通过电子邮件发送。 根据模块的文档,需要图片的绝对文件路径。
我得到的文件路径如下:
file:///Users/User/Library/Developer/CoreSimulator/Devices/909705DC-D5…119-75CC009FFA5C/Documents/images/6EC7EAA7-0D37-4909-ABC4-B5DE250ED968.jpg
我收到以下错误消息:
Exception '-[MFMailComposeInternalViewController addAttachmentData:mimeType:fileName:] attachment must not be nil.' was thrown while invoking mail on target RNMail with params (
{
attachment = {
name = Name;
path = "file:///Users/zser/Library/Developer/CoreSimulator/Devices/909705DC-D5…119-75CC009FFA5C/Documents/images/6EC7EAA7-0D37-4909-ABC4-B5DE250ED968.jpg";
type = jpg;
};
body = "<h1>Content</h1>";
isHTML = 1;
recipients = (
"reiceiver@mail.com"
);
subject = subject;
},
25
)
这个路径有问题吗?
这是接受文件作为附件的基本代码:
Mailer.mail({
subject: 'Subject',
recipients: ['receiver@mail.com'],
body: `<h1>Content</h1>`,
isHTML: true, // iOS only, exclude if false
attachment: {
path: that.state.absolute_path, // The absolute path of the file from which to read data.
type: 'jpg', // Mime Type: jpg, png, doc, ppt, html, pdf
name: 'Ladunek', // Optional: Custom filename for attachment
}
}, (error, event) => {
if(error) {
AlertIOS.alert('Error', 'Niestety mail nie zostal wyslany. Prosze przeslac manualnie mail na : receiver@mail.com');
}
})
谢谢你的帮助
最佳答案
显然从绝对路径中删除 'file:///'
解决了这个问题。
关于react-native - React native Mailer (RNMail) - 附加文件问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39118277/