2 回答

TA貢獻1836條經驗 獲得超5個贊
在與 Ajax 請求進行了漫長而艱苦的斗爭之后,我讓它發送了正確的信息。這是我使用的代碼:
var xhr = new XMLHttpRequest(),
boundary=Math.random().toString().substr(2);
var formdata = new FormData();
formdata.append("file", file);
xhr.open("POST", $id("upload").action, true);
//xhr.setRequestHeader("content-type", "multipart/form-data; charset=utf-8; boundary=" + boundary);
xhr.send(formdata);
請注意標題不再使用,我發現您可以比任何其他方法更容易地將數據附加到 formdata

TA貢獻1876條經驗 獲得超6個贊
不確定這個答案是否適合您,但我能夠form-data在客戶端使用 ajax 上傳文件,并在服務器上使用以下 Go 代碼小片段:
file, handler, err := r.FormFile("img") // img is the key of the form-data
if err != nil {
fmt.Println(err)
return
}
defer file.Close()
fmt.Println("File is good")
fmt.Println(handler.Filename)
fmt.Println()
fmt.Println(handler.Header)
f, err := os.OpenFile(handler.Filename, os.O_WRONLY|os.O_CREATE, 0666)
if err != nil {
fmt.Println(err)
return
}
defer f.Close()
io.Copy(f, file)
這r是*http.Request。PS 這只是將文件存儲在同一文件夾中,不執行任何安全檢查。
- 2 回答
- 0 關注
- 487 瀏覽
添加回答
舉報