最近在自学 GO,遇到问题不知道怎么解决好了。。。
下载下来的图片都是不完整的
不知道是哪里出了问题。
附上 gist 连接
https://gist.github.com/alinuxsa/c5f6f935db2806cdbb7898a2e482c1b1
1
hasdream 2019-04-15 16:32:21 +08:00 1
直接读取 respone 然后写到文件主要大部分都会这样。 试试下面代码 把 img.Write 修改为 io.Copy
_, err = io.Copy(img, resp.Body) if err != nil { log.Fatal(err) } |
2
d0m2o08 OP |
3
ensonmj 2019-04-15 16:44:46 +08:00
说明 http 没有全部返回,就超时了?
|
4
kidlj 2019-04-15 16:46:57 +08:00 1
data, err := ioutil.ReadAll(resp.Body) // 这里检查并 log error
img.Write(data) // 这里检查并 log error |
5
reus 2019-04-15 16:48:23 +08:00
没有检查 err
|
8
kidlj 2019-04-15 17:14:03 +08:00
@d0m2o08 我试了下,跟那个两个 error 没有检查没有关系,就是因为超时了,所以只写入部分数据。
ioutil.ReadAll(resp.Body) error: net/http: request canceled (Client.Timeout exceeded while reading body) |
9
kidlj 2019-04-15 17:15:20 +08:00
|