登录
首页 >  Golang >  Go问答

使用 Go 从 POST 请求中提取路径和文件名

来源:stackoverflow

时间:2024-02-11 08:36:29 488浏览 收藏

哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《使用 Go 从 POST 请求中提取路径和文件名》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!

问题内容

这个问题已经问过,但并不能解决我的问题。

在我的 go 项目中,无法打印路径和文件名。它显示一些错误,如下所示:

2021/10/13 16:25:07 http: 恐慌服务 [::1]:60170: 运行时错误: 无效内存地址或 nil 指针取消引用 goroutine 6 [运行]:

我的邮递员收藏

我的代码

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)
}

我正在尝试使用路径打印文件名,例如:/home/ramesh/videos/video.mp4


正确答案


发送的请求在 Content-Type 标头中缺少 boundary 参数。 multipart/form-data 需要此参数才能正常工作。

在 Postman 中,删除显式的 Content-Type 标头设置,并将其留给 Postman 自动使用 boundary 参数设置标头。

更多信息请参阅:https://stackoverflow.com/a/16022213/965900https://stackoverflow.com/a/41435972/965900

最后但并非最不重要的一点是,不要忽略错误

本篇关于《使用 Go 从 POST 请求中提取路径和文件名》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>