Estoy fragmentando cargas grandes en Javascript y tratando de analizarlas para agregarlas continuamente al disco en Golang.
function fileChunker(file, startChunk) { const chunkMax = Math.min(startChunk + CHUNK_SIZE, file.size); const fileChunk = file.slice(startChunk, chunkMax); const chunkForm = new FormData(); chunkForm.append("file", fileChunk); chunkUploader(chunkForm, startChunk, file) } function chunkUploader(chunkForm, startChunk, file) { var oReq = new XMLHttpRequest(); oReq.timeout = 2000 oReq.open("POST", "http://localhost:8300/upload", true); oReq.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); oReq.onload = function (oEvent) { const updatedStartChunk = startChunk + CHUNK_SIZE; if (updatedStartChunk < file.size) { fileChunker(file, updatedStartChunk); return } }; console.log(chunkForm) oReq.send(chunkForm); } package main import ( "fmt" "net/http" ) func uploadHandler(w http.ResponseWriter, r *http.Request) { w.Header().Set("Access-Control-Allow-Origin", "*") w.Header().Set("Access-Control-Allow-Headers", "*") w.Header().Set("Access-Control-Allow-Methods", "*") if err := r.ParseMultipartForm(0); err != nil { fmt.Fprintf(w, "Err parsing form.") } fmt.Println(r.FormValue("file")) } func main() { mux := http.NewServeMux() mux.HandleFunc("/upload", uploadHandler) http.ListenAndServe(":8300", mux) }POST en el navegador:Antes de enviar la solicitud, los datos del formulario se ven como se esperaba (tamaños fragmentados de 10 kb). Intentar imprimir estos datos está vacío en el servidor. ¿Hay alguna forma de validar los datos que estoy enviando en el servidor? Siento que esto no se está analizando correctamente y no estoy seguro de por qué.