每个编程语言中文件操作、字符串操作都是最基本的功能,需要熟练掌握应用。
下载网络图片,并将文件保存到本地路径,本文就介绍go语言中的一个实现示例。
实现思路: 函数定义中包含保存文件路径以及图片的http地址,首先需要根据图片http地址截取其最后一段作为文件名,然后使用go语言自带的http库请求获取图片,最后将获取到结果保存到文件中。
实现代码如下:
package main
import (
"fmt"
"io/ioutil"
"net/http"
"strings"
)
// 下载图片信息
func downLoad(base string, url string) error {
pic := base
idx := strings.LastIndex(url, "/")
if idx < 0 {
pic += "/" + url
} else {
pic += url[idx+1:]
}
v, err := http.Get(url)
if err != nil {
fmt.Printf("Http get [%v] failed! %v", url, err)
return err
}
defer v.Body.Close()
content, err := ioutil.ReadAll(v.Body)
if err != nil {
fmt.Printf("Read http response failed! %v", err)
return err
}
err = ioutil.WriteFile(pic, content, 0666)
if err != nil {
fmt.Printf("Save to file failed! %v", err)
return err
}
return nil
}
func main() {
savePath := "./"
url := "https://avatar.csdnimg.cn/2/9/0/1_togolife.jpg"
err := downLoad(savePath, url)
if err != nil {
fmt.Println("Download pic file failed!", err)
} else {
fmt.Println("Download file success.")
}
return
}
https://avatar.csdnimg.cn/2/9/0/1_togolife.jpg/1_togolife.jpg0666