一尘不染

如何使用Go语言下载带有HTTP请求的文件

go

我想使用go http包从go lang中的url下载文件,然后将图像保存到磁盘以供以后在我的网页上显示。我该怎么做呢?

我需要这样做是因为我想从instagram下载图像并将其保存到我的公共文件夹中以便在我的网页上显示。

我在下面创建了一个答案,供其他人使用我想出的代码。


阅读 306

收藏
2020-07-02

共1个答案

一尘不染

经过一番研究,我想到了这一点。

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
}

它运行良好,但可能需要进行一些改进才能用于生产。

2020-07-02