2 回答
TA贡献1812条经验 获得超5个赞
您可以使用编码,例如form-data
,其中包括文件名以使用邮递员上传文件。这将帮助您向服务器发送multipart/form-data
请求。之后,您可以从服务器端提取文件名。
从服务器端
func uploadData(w http.ResponseWriter, req *http.Request) {
_, header, _ := req.FormFile("demo")
fmt.Println(header.Filename)
}
TA贡献1816条经验 获得超6个赞
因为,没有与 HTTP 请求正文关联的文件名。如果要获取文件名,则必须在 URL 中发送文件名。
package main
import (
"net/http"
"os"
"io"
"log"
"github.com/gorilla/mux"
)
func uploadData(w http.ResponseWriter, req *http.Request) {
params := mux.Vars(req)
file, err := os.Create(params["fileName"])
_, err = io.Copy(file, req.Body)
if err!=nil{
log.Printf("Error while Posting data")
}
}
func main(){
router := mux.NewRouter()
router.HandleFunc("/upload/{fileName}", uploadData).Methods("POST")
log.Fatal(http.ListenAndServe(":8000", router))
}
- 2 回答
- 0 关注
- 168 浏览
添加回答
举报