golang은 파일 다운로드를 구현합니다
인터넷 시대에 파일 다운로드 없이는 할 수 없지만 파일 다운로드의 구체적인 구현 프로세스에 관심을 갖는 사람은 거의 없습니다. 오늘은 golang이 파일 다운로드를 구현하는 방법을 소개하겠습니다.
표시의 편의를 위해 다운로드해야 하는 파일의 주소는 http://files.saas.hand-china.com/java/sales-hardware-라고 가정합니다. Management.pdf
먼저 golang에 내장된 http 패키지와 os 패키지를 소개해야 합니다:
import ( "fmt" "net/http" "os" )
그런 다음 http.Get을 통해 다운로드해야 하는 파일의 응답 결과를 얻을 수 있습니다:
response, err := http.Get(url) if err != nil { fmt.Println("Error fetching response. ", err) return } defer response.Body.Close()
응답 결과를 얻은 후에는 적절한 시간에 응답 본문을 닫아야 합니다.
다음으로 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.") }
위는 파일 다운로드 I의 golang 구현에 대한 간략한 소개 및 데모입니다. 예를 들어, 모든 사람이 파일 다운로드 구현 프로세스에 대해 더 깊이 이해하게 될 것이라고 믿습니다.
위 내용은 Golang은 파일 다운로드를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!