выгрузить активы в флаттер - PullRequest
1 голос
/ 08 марта 2020

Я новичок во Флаттере и пытаюсь поместить изображение в один из моих виджетов, но выдает ошибку ниже:

The following assertion was thrown resolving an image codec:
Unable to load asset: ../w.png

When the exception was thrown, this was the stack
#0      PlatformAssetBundle.load 
package:flutter/…/services/asset_bundle.dart:221
<asynchronous suspension>
#1      AssetBundleImageProvider._loadAsync 
package:flutter/…/painting/image_provider.dart:484
#2      AssetBundleImageProvider.load 
package:flutter/…/painting/image_provider.dart:469
#3      ImageProvider.resolve.<anonymous closure>.<anonymous closure>.<anonymous closure> 
package:flutter/…/painting/image_provider.dart:327
...
Image provider: AssetImage(bundle: null, name: "../w.png")
Image key: AssetBundleImageKey(bundle: PlatformAssetBundle#767fa(), name: "../w.png", scale: 1.0)

pubspe c .yaml:

enter image description here

мои папки:

enter image description here

actionlist.dart

// new Image(image: AssetImage('../../w.png'),width: 300,height: 100,),
Image.asset('../../images/w.png'),

Я пытался множество решений от StackOverflow, но ни одно из них не помогло мне. с помощью Flutter Clean, эмулятора Cold Boot android проверьте тысячу раз YAML-файл, переименуйте файл, но, к сожалению, ни один из них не помогает мне это исправить. Я действительно ценю это, если у кого-то есть идея исправить это.

Ответы [ 2 ]

3 голосов
/ 08 марта 2020

Идентификация важна для папок yaml, как вы знаете. Я проверил свою папку pubspe c .yaml, и в моей папке нет пробелов ниже assets. После изменений в pubspe c .yaml запустите его снова.

flutter:
  uses-material-design: true

  assets:
  - images/w.png

Вы можете получить изображение, используя Image.Assets("images/w.png")

1 голос
/ 08 марта 2020

Запускали ли вы команду get пакета flutter после добавления ресурса?

Кроме того, укажите полный путь к ресурсу (точно такой же, как вы написали в pubspe c .yaml) и повторите попытку.

Image.asset("images/w.png")

Если вы по-прежнему получаете сообщение об ошибке, остановите приложение и запустите его снова. Не перегружайте.

...