diff --git a/config.json b/config.json index 1c142bd..ef8ad16 100644 --- a/config.json +++ b/config.json @@ -12,7 +12,7 @@ "RefreshURI": "https://api.imgur.com/oauth2/token", "RefreshFormat": "refresh_token=%s\u0026client_id=%s\u0026client_secret=%s\u0026grant_type=refresh_token", "RefreshMethod": "POST", - "UploadURI": "https://api.imgur.com/3/image", + "UploadURI": "https://api.imgur.com/3/image?name=something.jpeg", "UploadMethod": "POST" }, "Maps": { diff --git a/message/images.go b/message/images.go index f618523..5448b9a 100644 --- a/message/images.go +++ b/message/images.go @@ -7,8 +7,10 @@ import ( "fmt" "io/ioutil" "local/truckstop/config" + "log" "mime/multipart" "net/http" + "net/url" "time" ) @@ -30,9 +32,17 @@ func refreshToken() error { } func uploadImage(b []byte) (string, error) { + images := config.Get().Images buff := bytes.NewBuffer(nil) writer := multipart.NewWriter(buff) - part, err := writer.CreateFormFile("image", "name") + name := "name" + if u, err := url.Parse(images.UploadURI); err != nil { + } else if s, ok := u.Query()["name"]; !ok { + } else { + name = s[0] + log.Printf("found name in upload uri: %s", name) + } + part, err := writer.CreateFormFile("image", name) if err != nil { return "", err } @@ -43,7 +53,6 @@ func uploadImage(b []byte) (string, error) { } writer.Close() - images := config.Get().Images request, err := http.NewRequest( images.UploadMethod, images.UploadURI,