gpt4 book ai didi

http - Go 中 'net/http' 中的 request.FormValue 为空

转载 作者:数据小太阳 更新时间:2023-10-29 03:41:56 28 4
gpt4 key购买 nike

我正在尝试使用端点创建一个简单的 http 服务,以在 Go 中将文件下载到本地系统。该链接位于 ?uri 标记中,但是当我想要获取它时,我收到一个空字符串。我试图解析我的请求的形式,但没有帮助。这是我的代码:

func main() {
http.HandleFunc("/download", DownloadHandler)
log.Fatal(http.ListenAndServe(":8080", nil))
}

func DownloadHandler(writer http.ResponseWriter, request *http.Request) {
prsErr := request.ParseForm()
if prsErr != nil{
panic(prsErr)
}
uri := request.FormValue("?uri")
_, _ = writer.Write([]byte(uri))
err := DownloadFile("img.png", uri)
if err != nil {
panic(err)
}
}

func DownloadFile(filepath string, url string) error {

// Create the file
out, err := os.Create(filepath)
if err != nil {
return err
}
defer out.Close()

// Get the data
resp, err := http.Get(url)
if err != nil {
return err
}
defer resp.Body.Close()

// Write the body to file
_, err = io.Copy(out, resp.Body)
if err != nil {
return err
}

return nil
}

我将不胜感激任何帮助!谢谢!

最佳答案

request.FormValue("?uri") 处无效

uri := request.FormValue("uri")

关于http - Go 中 'net/http' 中的 request.FormValue 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53802703/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com