|
|
- package util
-
- import (
- "io"
- "io/ioutil"
- "net/http"
- "os"
- "path/filepath"
- "strings"
- )
-
- func DownloadFile(url string) (string, error) {
- var (
- nameSplit []string
- resp *http.Response
- tempFile *os.File
- err error
- )
-
- // Used to get the file extension
- // This could be improved with a mime-type lookup
- nameSplit = strings.Split(url, ".")
-
- resp, err = http.Get(url)
- if err != nil {
- return "", err
- }
- defer resp.Body.Close()
-
- tempFile, err = ioutil.TempFile("./uploads", "upload-*."+nameSplit[len(nameSplit)-1])
- if err != nil {
- return "", err
- }
- defer tempFile.Close()
-
- _, err = io.Copy(tempFile, resp.Body)
- return filepath.Base(tempFile.Name()), err
- }
|