我想使用go http包从go lang中的网址下载文件,并将图像保存到磁盘,以便以后显示在我的网页上。我该怎么做?
我需要这样做是因为我想从Instagram下载图像并将其保存到我的公共文件夹中以便在我的网页上显示。
我在下面创建了一个答案供其他人使用我提出的代码。
答案 0 :(得分:5)
import (
"os"
"net/http"
"io"
)
func downloadFile(filepath string, url string) (err error) {
// Create the file
out, err := os.Create(filepath)
if err != nil {
return err
}
defer out.Close()
// Get the data
resp, err := http.Get(url)
if err != nil {
return err
}
defer resp.Body.Close()
// Writer the body to file
_, err = io.Copy(out, resp.Body)
if err != nil {
return err
}
return nil
}
效果很好但可能需要进行一些改进才能用于生产。