当前位置: 首页 > 面试题库 >

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

蒲魁
2023-03-14
问题内容

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

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

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


问题答案:

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

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
}

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



 类似资料:
  • 问题内容: 是否有一种使用Go下载大文件的方法,该方法会将内容直接存储到文件中,而不是将所有内容都存储到内存中再写入文件?由于文件太大,因此在将其全部写入内存之前将其全部存储在内存中将耗尽所有内存。 问题答案: 我假设您的意思是通过http下载(为简便起见,省略了错误检查): http.Response的主体是阅读器,因此您可以使用带有阅读器的任何功能,例如一次读取一个块,而不是一次读取所有块。在

  • 我在: > http://developer.yahoo.com/blogs/ydn/important-api-updates-changes-8060.html http://developer.yahoo.com/boss/search/ http://tech.groups.yahoo.com/group/ysearchboss/msearch?query=http要求 http://de

  • 问题内容: 我想在单击按钮时发送“ ajax下载请求”,所以我尝试了这种方式: javascript: download.php: 但是没有按预期工作,我该怎么办?先感谢您 问题答案: 2015年4月27日更新 进入HTML5场景的是download属性。它支持在Firefox和Chrome,并很快来到IE11。根据您的需求,只要您要下载的文件与您的网站位于同一来源,就可以使用它代替AJAX请求(

  • 我试图下载一个二进制文件,并将其原始名称保存在磁盘上(linux)。 有什么想法吗?

  • 我试图下载和保存图像从网络使用python的模块。 以下是我使用的(工作)代码: 以下是使用

  • 本文向大家介绍go语言简单的处理http请求的函数实例,包括了go语言简单的处理http请求的函数实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了go语言简单的处理http请求的函数。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的Go语言程序设计有所帮助。