func GetVideo (w http.ResponseWriter, r * http.Request, param activationprouter.Params) { vid: = param.ByName ("videoID") a, err: = os.Open (`F: \ 迅雷 下载 \ 小丑 回魂.mp4`) se err! = nil { fmt.Println (err) return } w.Header (). Set ("Tipo de conteúdo", "video / mp4") http.ServeContent (w, r, "", time Agora (), a) }
func UpVideo (w http.ResponseWriter, r * http.Request, param activationprouter.Params) ( r.Body = http.MaxBytesReader (w, r.Body, UPFILE_MAXSIZE) // O método de leitura do valor de retorno maxbytesReader excede os dados lidos Quando o tamanho é limitado, um erro não-EOF será retornado e seu método Close fechará a interface io.ReadCloser subjacente r. if err: = r.ParseMultipartForm (UPFILE_MAXSIZE); err! = nulo { http.Erro (w, "file is big", 404) } arquivo, _, err: = r.FormFile ("file") se err! = nulo { http.Erro (w, "exceção do servidor", 501) } dados, err: = ioutil.ReadAll (arquivo) se errar! = nulo { http.Erro (w, "exceção do servidor", 501) } fn: = param.ByName ("videoID") err = arquivo.WriteFile (VIDEO_DIR + fn, dados, 066) se err! = zero { http.Erro (w, "exceção SERVIDOR", w.WriteHeader (http.StatusCreated) io.WriteString (w, "uploade successfulfull") }