41

私はwechat APIを使用しています...ここでは、このAPI http://admin.wechat.com/wiki/index.php?title=Transferring_Multimedia_Filesを使用してwechatのサーバーに画像をアップロードしました

url = 'http://file.api.wechat.com/cgi-bin/media/upload?access_token=%s&type=image'%access_token
files = {
    'file': (filename, open(filepath, 'rb')),
    'Content-Type': 'image/jpeg',
    'Content-Length': l
}
r = requests.post(url, files=files)

データを投稿できません

4

6 に答える 6

65

wechat api doc から:

curl -F media=@test.jpg "http://file.api.wechat.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE"

上記のコマンドを python に変換します。

import requests
url = 'http://file.api.wechat.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE'
files = {'media': open('test.jpg', 'rb')}
requests.post(url, files=files)

ドキュメント: https://docs.python-requests.org/en/master/user/quickstart/#post-a-multipart-encoded-file

于 2015-03-17T16:27:55.733 に答える
8

このスニペットを使用

import os
import requests
url = 'http://host:port/endpoint'
with open(path_img, 'rb') as img:
  name_img= os.path.basename(path_img)
  files= {'image': (name_img,img,'multipart/form-data',{'Expires': '0'}) }
  with requests.Session() as s:
    r = s.post(url,files=files)
    print(r.status_code)
于 2019-02-19T22:05:22.093 に答える
5
import requests

image_file_descriptor = open('test.jpg', 'rb')
# Requests makes it simple to upload Multipart-encoded files 
files = {'media': image_file_descriptor}
url = '...'
requests.post(url, files=files)
image_file_descriptor.close()

記述子を閉じることを忘れないでください。バグを防ぎます:明示的にファイルを閉じることは重要ですか?

于 2018-12-04T08:14:14.273 に答える