首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >修复模型颤振/ Dart

修复模型颤振/ Dart
EN

Stack Overflow用户
提问于 2021-03-30 12:47:17
回答 1查看 123关注 0票数 0

我有一个PHP后端,我在我的本地主机上使用它,所以一切都好,但我有一个问题,我从API获得的图像URL是一个错误的路径,我不能在服务器端更改它,所以我决定在客户端修复它

我可以在我的模拟器上显示如下路径的图像:

代码语言:javascript
复制
http://10.0.2.2:8000/storage/app/public/171/conversions/api-icon.jpg

API给了我这样的路径

代码语言:javascript
复制
http://192.168.1.114/multi-restaurants/public/storage/app/public/171/conversions/api-icon.jpg

我通过创建一个函数来改变路径来修复它,但是这需要做很多工作,就像我应该把这个函数放在我想要显示图像的任何地方!

我确信有一种方法可以在收到api时直接从模型更改路径这里是我的模型

代码语言:javascript
复制
class Media {
  String id;
  String name;
  String url;
  String thumb;
  String icon;
  String size;

  Media();

  Media.fromJSON(Map<String, dynamic> jsonMap)
      : id = jsonMap['id'].toString(),
        name = jsonMap['name'],
        url =  jsonMap["url"] ,
        thumb = jsonMap['thumb'],
        icon = jsonMap['icon'],
        size = jsonMap['formated_size'];

我在每个类中使用这个函数来更改路径Url

代码语言:javascript
复制
String changepath(String uuu) {
    final uri = Uri.parse(uuu);
    print("This is $uri");
    if (uri.path.contains("multi-restaurants")) {
      print("http://10.0.2.2:8000/${uri.pathSegments[2]}/${uri.pathSegments[3]}/${uri.pathSegments[4]}/${uri.pathSegments[5]}/${uri.pathSegments[6]}");
      return"http://10.0.2.2:8000/${uri.pathSegments[2]}/${uri.pathSegments[3]}/${uri.pathSegments[4]}/${uri.pathSegments[5]}/${uri.pathSegments[6]}";
    }
  }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-31 16:20:54

我解决了这个问题:创建一个Helper类,在其中放入一个静态函数,然后在我想要显示的每个小部件(Url)中调用它

代码语言:javascript
复制
 static String changer(String _string1) {
    String _string2 = _string1.replaceAll(
        "http://192.168.1.114/multi-restaurants/public",
        "http://10.0.2.2:8000");
    print(_string2);
    return _string2;
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66864948

复制
相关文章

相似问题

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