如何显示Wordpress内容图片API

时间:2019-08-30 16:05:19

标签: wordpress api flutter

我想在我的flutter应用程序中显示图像内容。我使用wordpress api。 我使用此类来显示FeaturedMedia,标题和内容

 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

鲍里斯·约翰逊说,英国将离开欧盟10月31日“成败” –促使一些国会议员采取行动阻止英国在没有达成协议的情况下离开。

\ n

但是他说,国会议员越是试图阻止无协议退欧,“越多

\ n

在总理宣布他将在九月和十月暂停议会五个星期之后。

\ n

约翰逊先生说,这是为了允许政府举行女王的演讲,并概述其未来的“非常令人兴奋的议程”。

\ n

但批评家声称,他的意图是防止下议院采取任何行动,

\ n

https://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 \“ size = \”(最大宽度: 300px)100vw,3 00px \“ />

\ n”, “受保护”:false },

1 个答案:

答案 0 :(得分:0)

一旦获得指向该图像的链接,您就可以使用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 =',然后尝试通过查找文件扩展名将链接作为子字符串获得。

它可能无法在所有情况下都有效,但是总有总有没有要解决的。

  

如果您面临其他类似问题,并且没有时间   使用Flutter开发的html包来实现自己的逻辑   官方开发团队。

     

https://pub.dev/packages/html

     

或者,您甚至可以引用这两个软件包中的一个(自   您使用wordpress的工作),

     

https://pub.dev/packages/flutter_wordpress

     

https://pub.dev/packages/wordpress_api