Go 中将 URL 中的图片保存到文件
Go 中,可以通过 net/http 包实现从 URL 下载并保存图片。提供的代码在将图像数据写入文件之前从 image.Image 类型转换为 []byte 时存在一个小问题。然而,有一个更直接的方法来处理这个任务:
修改方法:
在修改方法中,我们避免图像解码,直接将响应正文复制到文件。这是通过 io.Copy 的便利性实现的,它允许数据流的无缝传输。这是修改后的代码:
import ( "fmt" "io" "log" "net/http" "os" ) func main() { url := "http://i.imgur.com/m1UIjW1.jpg" response, err := http.Get(url) if err != nil { log.Fatal(err) } defer response.Body.Close() file, err := os.Create("/tmp/image.jpg") if err != nil { log.Fatal(err) } defer file.Close() _, err = io.Copy(file, response.Body) if err != nil { log.Fatal(err) } fmt.Println("Image downloaded and saved successfully!") }
要点:
以上是如何在 Go 中高效地将 URL 中的图像保存到文件中?的详细内容。更多信息请关注PHP中文网其他相关文章!