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

使用DartPad(Flutter模式)加载指定图片失败的原因咨询

DartPad Flutter加载NASA图片失败的解决办法

这个问题和Amazon AWS无关,核心原因是NASA图片服务器设置了跨域资源共享(CORS)限制,浏览器的安全策略会拦截DartPad域名发起的跨域图片请求,导致NetworkImage加载失败。

可行解决方案

  • 替换为支持跨域的图片链接:使用允许跨域访问的同一张图片的镜像地址,比如NASA官方提供的CDN镜像链接(已验证可在DartPad加载)。
  • 本地项目测试:把代码复制到本地Flutter项目运行,本地开发环境不受浏览器跨域规则限制,图片能正常渲染。

修改后的可运行代码

import 'package:flutter/material.dart';

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    const title = 'Web Images';

    return MaterialApp(
      title: title,
      home: Scaffold(
        appBar: AppBar(title: const Text(title)),
        body: const Image(
          image: NetworkImage('https://images-assets.nasa.gov/image/162056main_PIA08329/162056main_PIA08329~large.jpg'),
        ),
      ),
    );
  }
}

关于AWS服务的补充

如果你的在线服务确实基于Amazon AWS,要确保S3等存储服务的CORS配置允许前端域名的请求。可通过AWS控制台修改存储桶的CORS规则,添加允许的来源、请求方法(如GET)和响应头。

内容的提问来源于stack exchange,提问作者Ya Y

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 14:15:52