React native React native Mailer(RNMail)-附加文件时出现问题
我目前正在尝试通过我的react本机应用程序从用户设备发送电子邮件。 这样做的过程很简单。用户填写一些输入字段,选择图片(新图片或来自图库),然后通过电子邮件发送。 根据模块文档,需要图片的绝对文件路径 我得到的文件路径如下所示:React native React native Mailer(RNMail)-附加文件时出现问题,react-native,React Native,我目前正在尝试通过我的react本机应用程序从用户设备发送电子邮件。 这样做的过程很简单。用户填写一些输入字段,选择图片(新图片或来自图库),然后通过电子邮件发送。 根据模块文档,需要图片的绝对文件路径 我得到的文件路径如下所示: file:///Users/User/Library/Developer/CoreSimulator/Devices/909705DC-D5…119-75CC009FFA5C/Documents/images/6EC7EAA7-0D37-4909-ABC4-B5DE2
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
)
调用带有参数的目标RNMail上的邮件时,引发了异常'-[MFMailComposeInternalViewController addAttachmentData:mimeType:fileName:]附件不能为零。'(
{
附件={
名称=名称;
路径=”file:///Users/zser/Library/Developer/CoreSimulator/Devices/909705DC-D5…119-75CC009FFA5C/Documents/images/6EC7EAA7-0D37-4909-ABC4-B5DE250ED968.jpg”;
类型=jpg;
};
body=“Content”;
isHTML=1;
收件人=(
"reiceiver@mail.com"
);
主题=主题;
},
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');
}
})
Mailer.mail({
主题:'主题',
收件人:['receiver@mail.com'],
正文:`Content`,
isHTML:true,//仅限iOS,如果为false则排除
附件:{
path:that.state.absolute_path,//从中读取数据的文件的绝对路径。
类型:“jpg”,//Mime类型:jpg、png、doc、ppt、html、pdf
名称:'Ladunek',//可选:附件的自定义文件名
}
},(错误、事件)=>{
如果(错误){
AlertIOS.alert('Error','Niestety mail nie zostal wyslany.Prosze przeslac Manual nie mail na:receiver@mail.com');
}
})
感谢您的帮助显然,从绝对路径中删除
'file://'
解决了此问题