我有一个包含以下代码的 html 页面。<form action="/image" method="post"enctype="multipart/form-data"><label for="file">Filename:</label><input type="file" name="file" id="file"><br><input type="submit" name="submit" value="Submit"></form>然后我有一些 Go 代码来获取后端的文件。func uploaderHandler(w http.ResponseWriter, r *http.Request) { userInput := r.FormValue("file")但是每当我尝试使用 go 脚本中的 userInput 时,它都不返回任何内容。我传递的变量错了吗?编辑:我知道如何将文本/密码的内容上传到 golang。我无法使用代码将图像上传到 Go。编辑 2:阅读 Go 指南并找到解决方案。见下文。
1 回答
翻阅古今
TA贡献1780条经验 获得超5个赞
首先您需要使用req.FormFilenot FormValue,然后您必须手动将图像保存到文件中。
像这样的东西:
func HandleUpload(w http.ResponseWriter, req *http.Request) {
in, header, err := req.FormFile("file")
if err != nil {
//handle error
}
defer in.Close()
//you probably want to make sure header.Filename is unique and
// use filepath.Join to put it somewhere else.
out, err := os.OpenFile(header.Filename, os.O_WRONLY, 0644)
if err != nil {
//handle error
}
defer out.Close()
io.Copy(out, in)
//do other stuff
}
- 1 回答
- 0 关注
- 189 浏览
添加回答
举报
0/150
提交
取消