func GetVideo (w http.ResponseWriter, r * http.Request, param httprouter.Params) { vid: = param.ByName ("videoID") a, err: = os.Open (`F: \ 迅雷 下载 \ 小丑 回魂.mp4`) if err! = nil { fmt.Println (err) return } w.Header (). Set ("Content-Type", "video / mp4") http.ServeContent (w, r, "", time .Ahora (), a) }
func UpVideo (w http.ResponseWriter, r * http.Request, param httprouter.Params) ( r.Body = http.MaxBytesReader (w, r.Body, UPFILE_MAXSIZE) // El método de lectura del valor de retorno maxbytesReader excede la lectura de datos Cuando el tamaño es limitado, se devolverá un error que no sea EOF y su método Close cerrará la interfaz io.ReadCloser subyacente r. if err: = r.ParseMultipartForm (UPFILE_MAXSIZE); err! = nil { http.Error (w, "file is big", 404) } file, _, err: = r.FormFile ("file") if err! = nil { http.Error (w, "excepción del servidor", 501) } datos, err: = ioutil.ReadAll (archivo) if err! = nil { http.Error (w, "excepción del servidor", 501) } fn: = param.ByName ("videoID") err = ioutil.WriteFile (VIDEO_DIR + fn, data, 066) if err! = nil { http.Error (w, "SERVER excepcion", w.WriteHeader (http.StatusCreated) io.WriteString (w, "carga exitosa") }