我正在开发一个 Flutter 应用程序,该应用程序从 Jikan API 检索动漫数据 (https://api.jikan.moe/v4/anime)。我正在使用 CachedNetworkImage 显示动漫图像,但遇到错误:
错误信息:
Invalid argument(s): No host specified in URI null
以下是相关代码片段:
ListView.builder(
// ... other builder arguments
itemBuilder: (context, index) {
return AnimeDataItme(
imageUrl: animeData.data![index].images!.jpg!.imageUrl.toString(),
);
},
),
// Assuming AnimeDataItme builds the CachedNetworkImage
return CachedNetworkImage(
imageUrl: imageUrl,
fit: BoxFit.fill,
);
//web services
@RestApi(baseUrl: ApiConstants.apiUrl)
abstract class WebServices {
factory WebServices(Dio dio, {String baseUrl}) = _WebServices;
@GET(ApiConstants.apiUrl)
Future<Anime> getAnimeData();
}
//repo
Future<Anime> getAnimeData() async {
try {
final response = await _webServices.getAnimeData();
return response;
} on DioError catch (error) {
print("Error: ${error.message}");
throw Exception("Failed to get data information");
}
}
我尝试过以下方法:
我非常感谢社区提供的任何帮助来确定空 URL 的根本原因并提出修复此错误的解决方案。有没有人遇到过类似的问题或对可能导致问题的原因有任何见解?
问题出在 imageUrl 上,试试这个
CachedNetworkImage(
imageUrl: imageUrl.replaceAll('/\\', ""),
fit: BoxFit.fill,
);