图像未加载 Http 异常引发解析图像编解码器


Image.network(
    bizLists[position].docurl,
    fit: BoxFit.cover,
    width: MediaQuery.of(context)
                     .size
                     .width * 0.75,
)

尝试使用 image.network 颤振渲染图像时会抛出编解码器错误。

图片网址是http://180.12.181.8:2100/business/9c8468fb3b91ff16ab1539789bb71811.jpg

发生这种情况的原因是上下文无效。
上下文无效,因为 MaterialApp(或您使用的任何内容(是在上下文之后构建的,因此尚没有可用的 MediaQuery。

这也意味着你的结构是错误的,"可见"的控件不应该与MaterialApp位于同一类上。
一个建议的解决方案是将Image.network Widget移动到一个新类。

片段:

import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
    Widget build(BuildContext context){
        return MaterialApp(
            home: Scaffold(
                body: MySuperJuicyImage()
            )
        );
    }
}
class MySuperJuicyImage extends StatelessWidget{
    Widget build(BuildContext context){
        return Image.network(
            'http://180.12.181.8:2100/business/9c8468fb3b91ff16ab1539789bb71811.jpg',
            fit: BoxFit.cover,
            width: MediaQuery.of(context).size.width * 0.75,
        );
    }
}

您确定bizLists[position].docurl包含正确的 URL 吗?尝试将该调用替换为您发布的 URL。当我累了它时,图像正确呈现。试一试。

    Image.network(
      'http://180.12.181.8:2100/business/9c8468fb3b91ff16ab1539789bb71811.jpg',
      fit: BoxFit.cover,
      width: MediaQuery.of(context).size.width * 0.75,
    )

最新更新