首頁 > 後端開發 > Golang > Go初學者如何有效率地從URL下載並保存圖片?

Go初學者如何有效率地從URL下載並保存圖片?

DDD
發布: 2024-12-08 19:00:13
原創
1047 人瀏覽過

How Can a Go Beginner Efficiently Download and Save Images from a URL?

從 URL 儲存圖片

問題:

作為 Go 新手,如何從 URL檢索圖像並保存它

初始方法:

提供的程式碼嘗試使用 image.Decode 來解碼圖像,該圖像是為解碼圖像檔案而設計的。但是,檢索到的資料應被視為原始位元組。

更新的方法:

要直接從 URL 中保存圖像,我們可以使用 ioutil.ReadFrom 來將包含圖像資料的回應正文複製到本地檔案。

這是修改後的程式碼:

package main

import (
    "fmt"
    "io"
    "io/ioutil"
    "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("/images/asdf.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 saved successfully!")
}
登入後複製

解釋:

  • HTTP 回應正文被視為位元組流。
  • io.Copy 為用於將位元組從串流傳輸到本機檔案。
  • 根據檔案大小,傳輸可以可能需要時間,但這是處理大圖像的有效方法。

以上是Go初學者如何有效率地從URL下載並保存圖片?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板