iT邦幫忙

0

golang http.post 上傳圖片

如題
小小架了一個Nginx_uploasd_modul在後端,再寫一段golang程式想將圖片上傳至伺服器但一直跳出415 Unsupported Media,想請為各位大大,指點一下剛學golang不到一個禮拜的小小

package main

import (
	"bufio"
	//"bytes"
	"fmt"
	"io/ioutil"
	"net/http"
	"os"
)

func main() {
	file, err := os.Open("test1.jpg")
	if err != nil {
		fmt.Println(err)
	}
	defer file.Close()
	a := bufio.NewReader(file)
	//r := bytes.NewReader(*file)
	resp, err := http.Post("http://35.237.210.90:80/upload", "1_name", a)

	defer resp.Body.Close()
	body, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		fmt.Println(err)
	}
	fmt.Println(string(body))
}

執行結果

c:/go/bin/go.exe run main.go [C:/Users/ted00/go/src/test]
<html>
<head><title>415 Unsupported Media Type</title></head>
<body bgcolor="white">
<center><h1>415 Unsupported Media Type</h1></center>
<hr><center>nginx/1.10.2</center>
</body>
</html>

Success: process exited with code 0.
看更多先前的討論...收起先前的討論...
froce iT邦大師 5 級 ‧ 2019-01-03 16:31:27 檢舉
程式停在哪?是不是伺服器端的問題?
fillano iT邦超人 1 級 ‧ 2019-01-03 16:31:47 檢舉
https://astaxie.gitbooks.io/build-web-application-with-golang/en/04.5.html

參考這個吧我猜你這樣會導致用url encoded的格式上傳,所以伺服器回報415
r76021061 iT邦新手 4 級 ‧ 2019-01-03 16:35:34 檢舉
執行結果得到415 Unsupported Media Type,用postman, curl上傳都正常
r76021061 iT邦新手 4 級 ‧ 2019-01-03 16:45:19 檢舉
感謝 fillano大師指點,大師太神拉!

尚未有邦友回答

立即登入回答