gpt4 book ai didi

android - Flutter "Mailer"API 多图像附件

转载 作者:行者123 更新时间:2023-11-29 22:51:04 24 4
gpt4 key购买 nike

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

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

这就是我使用“image_picker”获取图像的方式

File _image1;

Future getImage1Camera() async {
var image1 = await ImagePicker.pickImage(source: ImageSource.camera);

setState(() {
_image1 = image1;
});

}

还有“邮件程序”代码

void _mailer() async{

if(!_formKey.currentState.validate()){
return;
}else{
_formKey.currentState.save();
}

String gmailUsername = '**';
String gmailPassword = '**';

final smtpServer = gmail(gmailUsername, gmailPassword);

final ceSendMail = Message()
..from = Address(gmailUsername, '')
..recipients.add('recipent')
..subject = 'Test'
..text = 'Plain Text'
..html = ''//Form Data
..attachments.add(_image1);//TODO: User input images

try {
final sendReport = await send(cekSendMail, smtpServer);
print('Message sent: ' + sendReport.toString());
} on MailerException catch (e) {
print('Message not sent.');
for (var p in e.problems) {
print('Problem: ${p.code}: ${p.msg}');
}
}
// Create a smtp client that will persist the connection
var connection = PersistentConnection(smtpServer);

// Send the message
await connection.send(cekSendMail);

// close the connection
await connection.close();

}

这是我遇到的错误,无论我尝试什么,它始终是“类型”错误。

不能将参数类型"file"分配给参数类型“附件”。

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

最佳答案

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

..attachments.add(FileAttachment(_image1))

关于android - Flutter "Mailer"API 多图像附件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57903718/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com