我可以使用以下代码上传单个文件:
import requests
notes = {'notes_pdf':'notes1.pdf','name':'notes_name1'}
url = "https://www.example.in/notes/api/v1/uploadNotes"
files = {'notes_pdf': open(notes['notes_pdf'], 'rb')}
response = requests.request("POST", url, params=querystring, files=files, data=notes)
return response.json()
现在,我想发送多个文件,外部REST API以下列格式接受notes对象。
multiple_notes = [{'notes_pdf':'notes1.pdf','name':'notes_name1'}, {'notes_pdf':'notes2.pdf','name':'notes_name2'}]
我无法以这种方式发送对象。任何帮助将受到高度赞赏。感谢。
答案 0 :(得分:0)
我不知道这个API接受相同的文件对象名称?
如果您的API接受notes1.pdf
notes2.pdf
等文件名,则可以使用以下代码:
file_list = [note['notes_pdf'] for note in multiple_notes] # get file name
files = {}
for file in file_list:
files[file]=open(file, 'rb')
res = requests.post(url, files=files, ...)
答案 1 :(得分:0)
如果您想要提及notes[0]['notes_pdf']
和notes[1]['notes_pdf']
,那么它应该有效:
multiple_notes = ({'notes_pdf':'notes1.pdf','name':'notes_name1'},
{'notes_pdf':'notes2.pdf','name':'notes_name2'})
根据requests documentation,您可以在POST请求中使用元组。