Я использую плагин 'flutter_html_view' для отображения некоторого отформатированного текста HTML, например:
import 'package:flutter/material.dart';
import 'package:flutter_html_view/flutter_html_view.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
String html =
'<h1>This is heading 1</h1><p><img alt="Test Image" src="https://i.ytimg.com/vi/RHLknisJ-Sg/maxresdefault.jpg" /></p>';
return MaterialApp(
home: new Scaffold(
appBar: new AppBar(
title: new Text('Plugin example app'),
),
body: HtmlView(data: html),
),
);
}
}
Он отображает изображение, которое находится в Интернете. Однако я хочу отобразить изображение, которое находится в моем каталоге ресурсов: assets / img.jpg . В pubspe c .yaml я добавил следующее:
flutter:
assets:
- assets/img.jpg
и теперь текст HTML выглядит следующим образом:
String html = '<h1>This is heading 1</h1><p><img alt="Test Image" src="assets/img.jpg" /></p>';
Почему-то не отображается изображение больше. Приостановка для исключения:
FileSystemException (FileSystemException: Невозможно открыть файл, путь = '/assets/img.jpg' (Ошибка ОС: такого файла или каталога нет, errno = 2)).
Есть идеи почему? Возможно ли это сделать? Я также пытался использовать src="file:///assets/img.jpg"
, но безуспешно.