golang はファイルのダウンロードを実装します
インターネット時代では、ファイルのダウンロードなしでは済まされませんが、ファイルのダウンロードの具体的な実装プロセスを気にする人はほとんどいません。今回はgolangでファイルダウンロードを実装する方法を紹介します。
表示の便宜上、ネットワーク上で利用可能なファイルを選択します。ダウンロードする必要があるファイルのアドレスは http://files.saas.hand-china.com/java/ であると仮定します。 sales-hardware-management .pdf
まず、golang の組み込み http パッケージと os パッケージを導入する必要があります。
import ( "fmt" "net/http" "os" )
その後、必要なファイルの応答結果を取得できます。
response, err := http.Get(url) if err != nil { fmt.Println("Error fetching response. ", err) return } defer response.Body.Close()
応答結果を取得した後、適切なタイミングでresponse.Bodyを閉じる必要があることに注意してください。
次に、os.Create を使用して保存する必要があるファイルを作成します。
out, err := os.Create(filepath) if err != nil { fmt.Println("Error creating file. ", err) return } defer out.Close()
ここで、filepath は保存する必要があるファイルのパスです。
最後に、io.Copy を通じて作成したばかりのファイルに応答結果を書き込むことができます:
_, err = io.Copy(out, response.Body) if err != nil { fmt.Println("Error saving file. ", err) return } fmt.Println("File saved successfully.")
完全な golang コードは次のとおりです:
package main import ( "fmt" "io" "net/http" "os" ) func main() { url := "http://files.saas.hand-china.com/java/sales-hardware-management.pdf" filepath := "sales-hardware-management.pdf" response, err := http.Get(url) if err != nil { fmt.Println("Error fetching response. ", err) return } defer response.Body.Close() out, err := os.Create(filepath) if err != nil { fmt.Println("Error creating file. ", err) return } defer out.Close() _, err = io.Copy(out, response.Body) if err != nil { fmt.Println("Error saving file. ", err) return } fmt.Println("File saved successfully.") }
上記はgolang の実装 ファイルのダウンロードの簡単な紹介とデモンストレーション この例を使用すると、ファイルのダウンロードの実装プロセスについて誰もがより深く理解できると思います。
以上がGolang はファイルのダウンロードを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。