#flutter #dart
#трепетание #дротик
Вопрос:
Я использую PDF-пакет в flutter и пытаюсь загрузить изображение, используя это:
final image = PdfImage.file(
pdf.document,
bytes: File('assets/logo.pdf').readAsBytesSync(),
);
После этого я вставляю его в класс Image:
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget> [
Image(image)
]
),
Но это выдает эту ошибку:
Необработанное исключение: исключение FileSystemException: не удается открыть файл, path = ‘assets/logo.pdf’ (Ошибка ОС: нет такого файла или каталога, errno = 2)
Почему это так, я не могу загрузить PDF-файл?
Комментарии:
1. Пожалуйста, не начинайте каждый заголовок вашего вопроса с «Flutter:». Для этого и нужны теги. Кроме того, пожалуйста, объясните, как вы понимаете ошибку, которую вы видите, и что вы нашли о ней в своем исследовании.
Ответ №1:
Ресурсы — это не то же самое, что файлы. Вы не можете получить доступ к их данным таким же образом. В данный момент вы пытаетесь получить доступ к assets/logo.pdf
файлу из файловой системы устройства, а не из ресурсов ваших приложений, поэтому он, как ожидается, не существует.
Чтобы получить данные об активе, вам необходимо использовать метод rootBundle
with the load
.
final image = PdfImage.file(
pdf.document,
bytes: (await rootBundle.load('assets/logo.pdf')).buffer.asUint8List(),
);