Tengo una ruta HTTP simple que no es específica del método. La solicitud de OPTIONS
para CORS devuelve un 200, no hay problema. Estoy esperando el POST
posterior, pero Firefox/Safari arroja un error con un NS_BINDING_ERROR
.
Como resultado, la solicitud real nunca se satisface. ¿Por qué sucedería esto? Estoy enviando un XMLHTTPRequest
desde el cliente así:
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.setRequestHeader('Content-Type', 'multipart/form-data'); oReq.onload = function (oEvent) { const updatedStartChunk = startChunk + CHUNK_SIZE; if (updatedStartChunk < file.size) { fileChunker(file, updatedStartChunk); return } }; console.log(chunkForm.get("file")) oReq.send(chunkForm); }
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 r.Method == "OPTIONS" { w.WriteHeader(http.StatusOK) return } if err := r.ParseMultipartForm(0); err != nil { fmt.Fprintf(w, "Err parsing form.") } f, _, err := r.FormFile("file") if err != nil { fmt.Fprintf(w, "Err parsing file.") } defer f.Close() fmt.Println(f) .....