Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- func save_multipart_upload(r *http.Request, savepath string) ([]string, error) {
- fmt.Println("CALL: save_multipart_upload(r,"+savepath+")")
- var savedfiles []string
- err := r.ParseMultipartForm(100000)
- if err != nil {
- return savedfiles, err
- }
- m := r.MultipartForm
- fmt.Printf("MPF: %#v n", m)
- for fname, _ := range r.MultipartForm.File {
- files := m.File[fname]
- fmt.Printf("files: %#v n", m)
- for i, _ := range files {
- //for each fileheader, get a handle to the actual file
- file, err := files[i].Open()
- fmt.Printf("file: %#v n", file)
- defer file.Close()
- if err != nil {
- return savedfiles, err
- }
- //create destination file making sure the path is writeable.
- var filename string
- if savepath[:len(savepath)] == "/" {
- filename = savepath + files[i].Filename
- } else {
- filename = savepath + "/" + files[i].Filename
- }
- dst, err := os.Create(filename)
- if err != nil {
- fmt.Println("Can't create "+filename+": "+err.Error())
- return savedfiles, err
- } else if _, err := io.Copy(dst, file); err != nil {
- fmt.Println("Can't copy data %s: "+err.Error(), filename)
- return savedfiles, err
- } else {
- fmt.Println("Saved %s successfully.", filename)
- savedfiles = append(savedfiles, files[i].Filename)
- }
- }
- }
- /* end multipart upload */
- fmt.Println("RETURN: receive_multipart_upload")
- return savedfiles, err
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement