为了账号安全,请及时绑定邮箱和手机立即绑定

golang 服务器上传文件响应 net::ERR_EMPTY_RESPONSE

golang 服务器上传文件响应 net::ERR_EMPTY_RESPONSE

Go
慕后森 2021-08-16 16:11:34
我正在使用 DART + golang 将一个小音频文件上传到服务器。一切都很好,直到我 POST 和 go 没有返回任何东西。我想返回文件名,以便我可以更改输入上的标签文本。1) 高朗:import (    "encoding/json"    "io/ioutil"    "log"    "net/http"    "time"    "fmt"    "os"    "io")http.HandleFunc("/upload", webUploadHandler)[...] func webUploadHandler(w http.ResponseWriter, r *http.Request) {   file, header, err := r.FormFile("file") // the FormFile function takes in the POST input id file   defer file.Close()   if err != nil {      fmt.Fprintln(w, err)      return   }   out, err := os.Create("/tmp/uploadedfile")   if err != nil {      fmt.Fprintf(w, "Unable to create the file for writing. Check your write access privilege")      return   }   defer out.Close()   // write the content from POST to the file   _, err = io.Copy(out, file)   if err != nil {      fmt.Fprintln(w, err)   }   fmt.Fprintf(w,"File uploaded successfully : ")   fmt.Fprintf(w, header.Filename)}2) DART 响应、警报window.alert("upload complete"); 作品3) Chromium 控制台中的错误:POST http://localhost:9999/upload net::ERR_EMPTY_RESPONSE 我对 GOLANG 很陌生,所以任何帮助都会让我非常感激。
查看完整描述

1 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

上面代码中的第一个错误:

defer file.Close()

在检查之前

if err != nil

- 更新

缺少第 2 部分,在 DART 中:

req.setRequestHeader("Content-type","multipart/form-data");


查看完整回答
反对 回复 2021-08-16
  • 1 回答
  • 0 关注
  • 396 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信