¿Cómo puedes subir archivos como una secuencia en go?
Hay una serie de tutoriales sobre la publicación de archivos usandohttp.Request
en marcha, pero casi siempre comienzan así:
file, err := os.Open(path)
if err != nil {
return nil, err
}
fileContents, err := ioutil.ReadAll(file)
Es decir, lees todo el archivo en la memoria y luego lo conviertes en unBuffer
y pasar eso a una solicitud, algo como esto:
func send(client *http.Client, file *os.File, endpoint string) {
body := &bytes.Buffer{}
io.Copy(body, file)
req, _ := http.NewRequest("POST", endpoint, body)
resp, _ := client.Do(req)
}
Si quisieras publicar un archivo masivo y evitar leerlo en la memoria, pero en lugar de eso vaporiza el archivo en trozos ... ¿cómo lo harías?