如何使用 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

最后但同样重要的是,不要忽略错误