我有一个PHP后端,我在我的本地主机上使用它,所以一切都好,但我有一个问题,我从API获得的图像URL是一个错误的路径,我不能在服务器端更改它,所以我决定在客户端修复它
我可以在我的模拟器上显示如下路径的图像:
http://10.0.2.2:8000/storage/app/public/171/conversions/api-icon.jpgAPI给了我这样的路径
http://192.168.1.114/multi-restaurants/public/storage/app/public/171/conversions/api-icon.jpg我通过创建一个函数来改变路径来修复它,但是这需要做很多工作,就像我应该把这个函数放在我想要显示图像的任何地方!
我确信有一种方法可以在收到api时直接从模型更改路径这里是我的模型
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
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]}";
}
}
}发布于 2021-03-31 16:20:54
我解决了这个问题:创建一个Helper类,在其中放入一个静态函数,然后在我想要显示的每个小部件(Url)中调用它
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;
}https://stackoverflow.com/questions/66864948
复制相似问题