| } | } | ||||
| func uploadVoice(path string) (mediaID string) { | |||||
| url, _ := getPostVoiceURL() | |||||
| jstr, _ := postFileForm(path, url, "media") | |||||
| var m = MediaID{} | |||||
| json.Unmarshal([]byte(jstr), &m) | |||||
| mediaID = m.MediaID | |||||
| return | |||||
| } | |||||
| func checkImageSanity() bool { | func checkImageSanity() bool { | ||||
| //check file size should < 2M | //check file size should < 2M | ||||
| fmt.Println(" should check image file size") | fmt.Println(" should check image file size") |
| msg = buildPicMsg(ToUserName, mediaID) | msg = buildPicMsg(ToUserName, mediaID) | ||||
| return | return | ||||
| } | } | ||||
| func buildPicMsg(ToUserName, mediaID string) (msg string) { | func buildPicMsg(ToUserName, mediaID string) (msg string) { | ||||
| msg = fmt.Sprintf(picMsgTemplate(), ToUserName, APIConfig.PublicAccountID, int32(time.Now().Unix()), mediaID) | msg = fmt.Sprintf(picMsgTemplate(), ToUserName, APIConfig.PublicAccountID, int32(time.Now().Unix()), mediaID) | ||||
| return | return | ||||
| </xml>` | </xml>` | ||||
| } | } | ||||
| func buildUploadVoiceMsg(ToUserName, path string) (msg string) { | |||||
| mediaID := uploadVoice(path) | |||||
| log.Println("get media id " + mediaID) | |||||
| msg = buildVoiceMsg(ToUserName, mediaID) | |||||
| return | |||||
| } | |||||
| func buildVoiceMsg(ToUserName, mediaID string) (msg string) { | func buildVoiceMsg(ToUserName, mediaID string) (msg string) { | ||||
| msg = fmt.Sprintf(voiceMsgTemplate(), ToUserName, APIConfig.PublicAccountID, int32(time.Now().Unix()), mediaID) | msg = fmt.Sprintf(voiceMsgTemplate(), ToUserName, APIConfig.PublicAccountID, int32(time.Now().Unix()), mediaID) | ||||
| return | return |
| reply = buildVideoMsg(h.FromUserName, mediaID, "标题123", a.Event+"/"+a.EventKey) | reply = buildVideoMsg(h.FromUserName, mediaID, "标题123", a.Event+"/"+a.EventKey) | ||||
| reply = buildUploadPicMsg(h.FromUserName, "media_for_test/640x480.jpg") | reply = buildUploadPicMsg(h.FromUserName, "media_for_test/640x480.jpg") | ||||
| reply = buildUploadVoiceMsg(h.FromUserName, "media_for_test/example.amr") | |||||
| } | } | ||||
| w.Header().Set("Content-Type", "text/xml; charset=utf-8") | w.Header().Set("Content-Type", "text/xml; charset=utf-8") | ||||
| fmt.Fprint(w, reply) | fmt.Fprint(w, reply) |
| AssertEqual(t, err, nil, "error ro compare file should be nil ") | AssertEqual(t, err, nil, "error ro compare file should be nil ") | ||||
| AssertEqual(t, equal, true, "video file should be equal ") | AssertEqual(t, equal, true, "video file should be equal ") | ||||
| } | } | ||||
| func TestUploadVoice(t *testing.T) { | |||||
| SetupConfig() | |||||
| src := "media_for_test/example.amr" | |||||
| mediaID := uploadVoice(src) | |||||
| log.Println(mediaID) | |||||
| } |
| {"access_token":"GAMFvLGWol69qo3-zGVswpXzlWsmt_4xUGUJf4Gsesk2-gJuiIxUlOdBaVJU-xVCoAz7OheyR2nJ36_RP0lJK9ARl8yJeJD62pE5XoLuHkdCXrEeTRip-MFEvC6SkYuNSWZiAGALPS","expires_in":7200,"created_at":"2017-05-10T02:52:24.014027459+10:00"} |