wordpress - 如何显示 wordpress 内容图像 api
问题描述
我想在我的颤振应用程序中显示图像内容。我使用 wordpress api。我用这个类来展示特色媒体、标题和内容
Post.fromJson(Map<String, dynamic> json)
: title = json['title']["rendered"],
excerpt = json['excerpt']["rendered"],
image = json["_embedded"]['wp:featuredmedia'][0]["media_details"]
["sizes"]["medium"]["source_url"],
date = json['date'],
content = json['content']["rendered"],
id = json['id'];
这是wordpress内容
“内容”:{“渲染”:“首相警告国会议员,他们试图阻止无协议脱欧,正在损害他与欧盟达成协议的机会。
\n鲍里斯·约翰逊(Boris Johnson)表示,英国将于 10 月 31 日“要么死要么死”离开欧盟——这促使一些国会议员采取行动,阻止英国在没有达成协议的情况下离开欧盟。
\n但他表示,越多的国会议员试图阻止无协议脱欧,“我们就越有可能最终陷入这种境地”。
\n此前,总理宣布他将在 9 月和 10 月暂停议会五周。
\n约翰逊先生表示,这是为了让政府能够举行一次女王演讲,并为未来勾勒出“非常激动人心的议程”。
\n但批评人士称,他的意图是阻止下议院采取任何行动来阻止不达成协议。
\nhttps://iraqmedianews.com/wp-content/uploads/2019/08/file-20181002-85614-vu0p6l-300x205.jpg\" alt=\"\" width=\"300\" height=\"205\ “ srcset=\” https://iraqmedianews.com/wp-content/uploads/2019/08/file-20181002-85614-vu0p6l-300x205.jpg 300w,https: //iraqmedianews.com/wp-content/uploads/ 2019/08/file-20181002-85614-vu0p6l-768x524.jpg 768w,https: //iraqmedianews.com/wp-content/uploads/2019/08/file-20181002-85614-vu0p6l.jpg 926w\"sizes=\ "(最大宽度: 300px) 100vw, 300px\" />
\n", "受保护": false },解决方案
获得该图像的链接后,您可以使用Image.network
来显示该图像。
带有解决方案的示例代码:
String imageUrl,rawString,i,j;
[...]
// At some point of your code
rawString = json['content']["rendered"];
for(int i=0;i<rawString.length;i++) if(rawString[i]=='=' && rawString[i-1]=='t' && rawString[i-2]=='e' && rawString[i-3]=='s' && rawString[i-4]=='c' && rawString[i-5]=='r' && rawString[i-6]=='s')
for(j=i+3;(rawString[i]=='.' && (rawString.substring(j,j+4)=="jpg")||rawString.substring(j,j+4)=="png");j++)
imageUrl = rawString.substring(i,j+4);
[...]
// The place where you want to display your widget
Image.network(
imageUrl, // Can add more attributes
);
我刚刚使用逻辑 AND 有效地找到了 'srcset=',然后尝试通过查找文件扩展名来将链接作为子字符串获取。
它可能不适用于所有情况,但有总比没有好。
如果您遇到任何其他类似的问题,并且如果您没有时间实现自己的逻辑,请使用
html
Flutter 官方开发团队开发的包。或者,您甚至可以参考这两个包中的任何一个(因为您使用的是 wordpress),
推荐阅读
- listview - Xamarin listView 选择了错误的项目
- r - 如何将先前的权重合并到我的 GLM 函数中?
- r - 值大于 x 的连续行的“平均值”(按组)
- arrays - 基于另一个数组值的 Dataweave 2.0 数组过滤
- esp32 - Esp32 低频 PWM
- java - 如何使用java流过滤地图的地图
- javascript - 单击复选框时,数组会丢失其值
- android - Firebase Firestore Android 如何创建带有布尔字段 onClick 的文档
- android - 如果使用 android:process 启动一个新进程,这个进程会再次加载所有的 dex 吗?
- java - Java中ArrayList内部的HashMap被覆盖