首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止Image.network编码图像url

防止Image.network编码图像url
EN

Stack Overflow用户
提问于 2020-04-10 15:20:55
回答 1查看 298关注 0票数 0

我试图在一个列表视图中显示多个图像。因此,我将它们传递给image.network()。当我运行这个应用程序时,我会得到一个例外:

代码语言:javascript
复制
HTTP request failed, statusCode: 404,
I/flutter ( 4820): https://cdn.mangacruzers.com/file/AnimeRleases/MHA_265_009.jpg%0D

似乎'%0D‘被附加到url。简而言之,当url被传递给Image.network()时,它正在被编码。有办法阻止这种编码吗?我已经检查了列表,在传递给Image.network()之前,urls没有被编码。

守则:

代码语言:javascript
复制
Widget build(BuildContext context) {
    return Scaffold(
      body: SafeArea(
        child: SingleChildScrollView(
          child: FutureBuilder(
              future: doc,
              builder: (BuildContext context, snapshot) {
                if (!snapshot.hasData)
                  return Center(child: CircularProgressIndicator());
                return ListView.builder(
                  primary: false,
                  shrinkWrap: true,
                    itemCount: chapter.images.length,
                    itemBuilder: (BuildContext context, int index) {
                      return Padding(
                        padding: const EdgeInsets.only(bottom: 10),
                        child: Image.network(chapter.images[index]),
                      );
                    });
              }),
        ),
      ),
    );

编辑:

chapter.images中的数据-

代码语言:javascript
复制
 https://cdn.mangacruzers.com/file/AnimeRleases/MHA_265_001.jpg
I/flutter ( 4820): https://cdn.mangacruzers.com/file/AnimeRleases/MHA_265_002.jpg
I/flutter ( 4820): https://cdn.mangacruzers.com/file/AnimeRleases/MHA_265_003.jpg
I/flutter ( 4820): https://cdn.mangacruzers.com/file/AnimeRleases/MHA_265_4-5.png
I/flutter ( 4820): https://cdn.mangacruzers.com/file/AnimeRleases/MHA_265_6-7.png
I/flutter ( 4820): https://cdn.mangacruzers.com/file/AnimeRleases/MHA_265_008.jpg
I/flutter ( 4820): https://cdn.mangacruzers.com/file/AnimeRleases/MHA_265_009.jpg
I/flutter ( 4820): https://cdn.mangacruzers.com/file/AnimeRleases/MHA_265_10-11.png
I/flutter ( 4820): https://cdn.mangacruzers.com/file/AnimeRleases/MHA_265_012.jpg
I/flutter ( 4820): https://cdn.mangacruzers.com/file/AnimeRleases/MHA_265_013.jpg
I/flutter ( 4820): https://cdn.mangacruzers.com/file/AnimeRleases/MHA_265_014.jpg
I/flutter ( 4820): https://cdn.mangacruzers.com/file/AnimeRleases/MHA_265_015.jpg
I/flutter ( 4820): https://cdn.mangacruzers.com/file/AnimeRleases/MHA_265_016.jpg
I/flutter ( 4820): https://cdn.mangacruzers.com/file/AnimeRleases/MHA_265_017.jpg
I/flutter ( 4820): https://cdn.mangacruzers.com/file/AnimeRleases/MHA_265_18-19.png
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-10 16:12:58

%0D是回车的URL编码值。您可以对您的url进行编码并打印它,以查看它是否包含任何CR。

代码语言:javascript
复制
var encoded = Uri.encodeFull(chapter.images[index]);
print(encoded);

如果它有任何CR,那么在分配给Image.network()之前,您应该替换它。

代码语言:javascript
复制
var urlWithoutCR = chapter.images[index].replaceAll(RegExp(r'\r'), "");
Image.network(urlWithoutCR);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61143390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档