Golang net/http.Request.MultipartReader() function example

package net/http

Golang net/http.Request.MultipartReader() function usage example

 func uploadProgress(w http.ResponseWriter, r *http.Request) {

 mr, err := r.MultipartReader()
 if err != nil {
 fmt.Fprintln(w, err)
 return
 }
 length := r.ContentLength

 //ticker := time.Tick(time.Millisecond) // <-- use this in production
 ticker := time.Tick(time.Second) // this is for demo purpose with longer delay

 for {

 var read int64
 var p float32
 part, err := mr.NextPart()
 ...

see full example at https://www.socketloop.com/tutorials/golang-upload-receive-file-progress-indicator

References :

http://golang.org/pkg/net/http/#Request.MultipartReader

Advertisement