You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter无法读取assets/images目录图片的问题求助

问题:Spider生成的动态图片引用无法被Dart识别,assets图片运行时不显示

项目结构

  • assets/
    • images/
      • movie1.png
      • movie2.png
  • lib/
    • generated/
      • images.dart
    • widgets/
      • movie_list_widget.dart
  • spider.yaml
  • pubspec.yaml

配置文件内容

spider.yaml

name: MyApp
asset_type: images
source:
  - assets/images/
output:
  lib/generated/images.dart
package: my_app

pubspec.yaml

name: my_app
description: A new Flutter project.

# 其他基础配置省略

flutter:
  uses-material-design: true
  assets:
    - assets/images/

核心代码文件

images.dart(Spider自动生成)

// Generated by Spider 🕷️
class Assets {
  Assets._();
  
  static const String movie1 = 'assets/images/movie1.png';
  static const String movie2 = 'assets/images/movie2.png';
}

movie_list_widget.dart

import 'package:flutter/material.dart';
import '../generated/images.dart';

class MovieListWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return ListView(
      children: [
        Image.asset(Assets.movie1),
        Image.asset(Assets.movie2),
      ],
    );
  }
}

控制台报错示例

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

When the exception was thrown, this was the stack:
// 堆栈追踪内容省略

排查及解决步骤

  • 校验pubspec.yaml的assets配置
    确保assets列表中的- assets/images/末尾带有斜杠,这是Flutter识别目录下所有资源的必要格式;同时检查yaml缩进,assets必须是flutter节点的子项,缩进保持一致(通常为2个空格)。

  • 核对Spider生成路径与实际文件
    打开images.dart,确认生成的图片路径和assets/images/下的文件名、大小写完全匹配(Dart对文件名大小写敏感,Movie1.png和movie1.png会被判定为不同资源);执行flutter pub run spider build重新生成代码,避免路径拼写错误。

  • 清理缓存并重启项目
    依次执行flutter clean和flutter pub get,清除Flutter的资源缓存;同时重启IDE/编辑器,避免缓存残留导致资源加载异常。

  • 验证图片文件有效性
    确认assets/images/目录下存在目标图片,未被误删除;测试手动写入路径是否能加载:将Image.asset(Assets.movie1)替换为Image.asset('assets/images/movie1.png'),如果能正常显示,说明Spider生成的路径存在问题;若仍无法显示,则是资源配置或缓存问题。

  • 检查Spider的package配置
    确保spider.yaml中的package字段值和pubspec.yaml中的name字段完全一致,不一致会导致资源路径解析失败。

内容的提问来源于stack exchange,提问作者Lll Cilician

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 10:20:47