目前正在开发一个允许用户查看存储在Heroku上的数据库的小应用程序,但是在使用数据库的URL时遇到了上述问题:" .herokuapp.com / api /& #34;
var client = createHttpClient();
var response = await client.read('<example>.herokuapp.com/api/<data>');
List data = JSON.decode(response);
Heroku似乎没有使用HTTP(S)或www,后者我认为是问题。
有谁知道如何绕过或解决此问题?
答案 0 :(得分:4)
问题之一是您的API URL前没有“ http://”;
解决方案 在您的API网址之前添加“ http://” 示例 API_URL =“ api.openweathermap.org/data/2.5/weather?q={city%20name}&appid={your%20api%20key}”
通过添加“ http://”,它变为 “ http://api.openweathermap.org/data/2.5/weather?q= {city%20name}&appid = {your%20api%20key}”
答案 1 :(得分:1)
我知道这是一个老问题,但是我偶然发现了这个问题,并通过在URL前面添加“ http://”来解决了这个问题。
答案 2 :(得分:1)
这是因为该应用程序尝试异步获取renderUrl。在取回渲染URL之前,它为null。 然后,NetworkImage(renderUrl ??'')尝试使用空字符串作为url并导致异常。 我不确定这是否是最好的解决方案,但这似乎行得通:
有很多解决方法,下面是其中的一些
在您的uri之前添加https://
对于图片:我决定在将图片网址放入小部件之前检查图片网址是否为空:
CircleAvatar(
backgroundColor: Colors.grey,
backgroundImage: _urlImage.isNotEmpty
? NetworkImage(_urlImagem)
: null,
),
答案 3 :(得分:0)
这对我有用
child: CircleAvatar(
backgroundImage: _newImage
? FileImage(imageFile)
: imgUrl.isNotEmpty
? NetworkImage(imgUrl)
: null,),