每个编程语言中文件操作、字符串操作都是最基本的功能,需要熟练掌握应用。
下载网络图片,并将文件保存到本地路径,本文就介绍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