UploadImage 上传图片
(base64img string)
| 179 | |
| 180 | // UploadImage 上传图片 |
| 181 | func (m *Manager) UploadImage(base64img string) (result UploadImageVo, err error) { |
| 182 | uir := UploadImageRequest{ |
| 183 | Filename: "filename", |
| 184 | Uin: m.QQ, |
| 185 | Skey: m.Skey, |
| 186 | Zzpaneluin: m.QQ, |
| 187 | PUin: m.QQ, |
| 188 | PSkey: m.PSkey, |
| 189 | Uploadtype: "1", |
| 190 | Albumtype: "7", |
| 191 | Exttype: "0", |
| 192 | Refer: "shuoshuo", |
| 193 | OutputType: "json", |
| 194 | Charset: "utf-8", |
| 195 | OutputCharset: "utf-8", |
| 196 | UploadHd: "1", |
| 197 | HdWidth: "2048", |
| 198 | HdHeight: "10000", |
| 199 | HdQuality: "96", |
| 200 | BackUrls: "http://upbak.photo.qzone.qq.com/cgi-bin/upload/cgi_upload_image,http://119.147.64.75/cgi-bin/upload/cgi_upload_image", |
| 201 | URL: fmt.Sprintf(uploadImageURL, m.Gtk2), |
| 202 | Base64: "1", |
| 203 | Picfile: base64img, |
| 204 | Qzreferrer: userQzoneURL + "/" + m.QQ, |
| 205 | } |
| 206 | |
| 207 | payload := strings.NewReader(structToStr(uir)) |
| 208 | client := &http.Client{} |
| 209 | request, err := http.NewRequest("POST", fmt.Sprintf(uploadImageURL, m.Gtk2), payload) |
| 210 | if err != nil { |
| 211 | return |
| 212 | } |
| 213 | request.Header.Add("referer", userQzoneURL) |
| 214 | request.Header.Add("origin", userQzoneURL) |
| 215 | request.Header.Add("cookie", m.Cookie) |
| 216 | request.Header.Add("user-agent", ua) |
| 217 | request.Header.Add("content-type", contentType) |
| 218 | response, err := client.Do(request) |
| 219 | if err != nil { |
| 220 | return |
| 221 | } |
| 222 | defer response.Body.Close() |
| 223 | data, err := io.ReadAll(response.Body) |
| 224 | r := cRe.FindStringSubmatch(binary.BytesToString(data)) |
| 225 | if len(r) < 2 { |
| 226 | err = errors.New("上传失败") |
| 227 | return |
| 228 | } |
| 229 | err = json.Unmarshal(binary.StringToBytes(r[1]), &result) |
| 230 | return |
| 231 | } |
| 232 | |
| 233 | // EmotionPublish 发送说说,content是文字,base64imgList是base64图片 |
| 234 | func (m *Manager) EmotionPublish(content string, base64imgList []string) (result EmotionPublishVo, err error) { |