Android “颤振”;“梅勒”;API多个图像附件

Android “颤振”;“梅勒”;API多个图像附件,android,email,flutter,dart,Android,Email,Flutter,Dart,我正在制作一个简单的应用程序,只需点击一个按钮,就可以从用户那里获取个人信息,以及通过后端邮件API发送的图像数量。到目前为止,我可以通过邮件获取和发送FormData,但我不知道如何发送一组图像 我已经尝试了几个API,但“Mailer”似乎最适合SMTP。至于代码,我试图将“File”类转换为String或List,但这些都不适用于我。我不是一个中级程序员,所以请善待我:) 这就是我使用“图像选择器”获取图像的方式 文件_image1; 未来的getImage1Camera()异步{ var

我正在制作一个简单的应用程序,只需点击一个按钮,就可以从用户那里获取个人信息,以及通过后端邮件API发送的图像数量。到目前为止,我可以通过邮件获取和发送FormData,但我不知道如何发送一组图像

我已经尝试了几个API,但“Mailer”似乎最适合SMTP。至于代码,我试图将“File”类转换为String或List,但这些都不适用于我。我不是一个中级程序员,所以请善待我:)

这就是我使用“图像选择器”获取图像的方式

文件_image1;
未来的getImage1Camera()异步{
var image1=等待ImagePicker.pickImage(源:ImageSource.camera);
设置状态(){
_image1=image1;
});
}
还有“邮件”代码

void\u mailer()异步{
如果(!\u formKey.currentState.validate()){
回来
}否则{
_formKey.currentState.save();
}
字符串gmailUsername='**';
字符串gmailPassword='**';
最终smtpServer=gmail(gmail用户名、gmail密码);
final ceSendMail=Message()
..发件人=地址(Gmail用户名“”)
..收件人。添加(“收件人”)
…主题='测试'
…text='纯文本'
..html=''//表单数据
..attachments.add(_image1);//TODO:用户输入图像
试一试{
最终发送报告=等待发送(cekSendMail、smtpServer);
打印('已发送消息:'+sendReport.toString());
}关于邮件异常捕获(e){
打印('未发送消息');
对于(e.问题中的var p){
打印('Problem:${p.code}:${p.msg}');
}
}
//创建将保持连接的smtp客户端
var connection=PersistentConnection(smtpServer);
//发送消息
等待连接。发送(cekSendMail);
//关闭连接
等待连接。关闭();
}
这是我得到的错误,无论我尝试什么,它总是“类型”错误

无法将参数类型“File”分配给参数类型“Attachment”。


那么,如何从用户处获取多个图像文件并通过邮件API发送?

您需要使用
文件附件包装您的文件

..attachments.add(FileAttachment(_image1))