ファイルに関する詳細を含む JSON 文字列と共にファイルをアップロードするには、API 呼び出しを行う必要があります。
これを行うためにpython requests libを使用しようとしています:
import requests
info = {
'var1' : 'this',
'var2' : 'that',
}
data = json.dumps({
'token' : auth_token,
'info' : info,
})
headers = {'Content-type': 'multipart/form-data'}
files = {'document': open('file_name.pdf', 'rb')}
r = requests.post(url, files=files, data=data, headers=headers)
これにより、次のエラーがスローされます。
raise ValueError("Data must not be a string.")
ValueError: Data must not be a string
リクエストから「ファイル」を削除すると、機能します。
リクエストから「データ」を削除すると、機能します。
データを JSON としてエンコードしないと機能します。
このため、エラーは JSON データとファイルを同じリクエストで送信することに関係していると思います。
これを機能させる方法についてのアイデアはありますか?