O pacote net / http realiza streaming de mídia sob demanda e upload de vídeo

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") 

}

  

Acho que você gosta

Origin www.cnblogs.com/thotf/p/12717315.html
Recomendado
Clasificación