Flutter Отправка изображения через почтовую программу - PullRequest
0 голосов
/ 05 августа 2020

Я пытаюсь найти решение для своего кода. Я пытаюсь отправить письмо с вложением изображения, но не могу понять, как это сделать. Я искал почти все темы на этом веб-сайте, но ничего из этого мне не помогло.

Без вложений я могу отправить электронное письмо, но когда я использую вложение и пытаюсь отправить свое изображение, ничего не происходит. Я скрыл личную информацию из кода.

File newImage;

uploadImage() async {
final _storage = FirebaseStorage.instance;
final _picker = ImagePicker();
PickedFile image;

  image = await _picker.getImage(source: ImageSource.camera);
  var file = File(image.path);
  String filName = basename(file.path);
  // Upload to Firebase
  var snapshot = await _storage.ref().child(filName).putFile(file).onComplete;

  var downloadURL = await snapshot.ref.getDownloadURL();

  setState(() {
    imageUrl = downloadURL;
    newImage = image; // PickedFile can't be assigned to variable type File
  });

}

main(message) async{
var options = new SmtpOptions()
  // Hidden
var transport = new SmtpTransport(options);

var envelope = new Envelope()
  ..from = 'example@mail.com'
  ..fromName = 'example'
  ..recipients = ['example2@mail.com']
  ..subject = 'example'
  ..attachments.add(new Attachment(file: new File(newImage))) // File can't be assigned to parameter type 'String'
  ..text = "$message";

transport.send(envelope)
    .then((_) => print('email sent!'))
    .catchError((e) => print('Error: $e'));

}

1 Ответ

0 голосов
/ 05 августа 2020

Вместо этого вы можете попробовать этот код:

..attachments.add(new Attachment(file: new File(newImage.path)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...