如何使用 Go 从邮递员请求正文中获取路径和文件名
How to get path and filename from postman request body using Go
这个问题已经问过了,但没有解决我的问题。
在我的 Go
项目中无法打印路径和文件名。它显示如下错误:
2021/10/13 16:25:07 http: panic serving [::1]:60170: runtime error: invalid memory address or nil pointer dereference goroutine 6 [running]:
我的邮递员collection
我的代码
package main
import (
"fmt"
"net/http"
"github.com/gorilla/mux"
)
func encodeFfmpeg(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "multipart/form-data")
_, header, _ := r.FormFile("video")
fmt.Println(header.Filename)
}
func main() {
router := mux.NewRouter()
router.HandleFunc("/encode", encodeFfmpeg).Methods("POST")
// config port
fmt.Printf("Starting server at 8080 \n")
http.ListenAndServe(":8080", router)
}
Am trying to print filename with path eg: /home/ramesh/videos/video.mp4
发送的请求缺少 Content-Type
header 中的 boundary
参数。 multipart/form-data
需要此参数才能正常工作。
在 Postman 中删除显式 Content-Type
header 设置,让 Postman 使用 boundary
参数自动设置 header。
更多请看:https://whosebug.com/a/16022213/965900 & https://whosebug.com/a/41435972/965900
最后但同样重要的是,不要忽略错误。
这个问题已经问过了,但没有解决我的问题。
在我的 Go
项目中无法打印路径和文件名。它显示如下错误:
2021/10/13 16:25:07 http: panic serving [::1]:60170: runtime error: invalid memory address or nil pointer dereference goroutine 6 [running]:
我的邮递员collection
我的代码
package main
import (
"fmt"
"net/http"
"github.com/gorilla/mux"
)
func encodeFfmpeg(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "multipart/form-data")
_, header, _ := r.FormFile("video")
fmt.Println(header.Filename)
}
func main() {
router := mux.NewRouter()
router.HandleFunc("/encode", encodeFfmpeg).Methods("POST")
// config port
fmt.Printf("Starting server at 8080 \n")
http.ListenAndServe(":8080", router)
}
Am trying to print filename with path eg: /home/ramesh/videos/video.mp4
发送的请求缺少 Content-Type
header 中的 boundary
参数。 multipart/form-data
需要此参数才能正常工作。
在 Postman 中删除显式 Content-Type
header 设置,让 Postman 使用 boundary
参数自动设置 header。
更多请看:https://whosebug.com/a/16022213/965900 & https://whosebug.com/a/41435972/965900
最后但同样重要的是,不要忽略错误。