通过restapi使用Python请求上载多个文件

2024-06-07 02:56:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我可以使用以下代码上载单个文件:

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()

现在,我想发送多个文件,外部restapi接受notes对象,格式如下。在

^{pr2}$

我不能用这种方式发送对象。任何帮助都将不胜感激。谢谢。在


Tags: 文件对象代码namehttpsimporturlpdf
2条回答

我不知道这个API接受相同的文件对象名? 如果API接受notes1.pdfnotes2.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, ...)

如果您想要notes[0]['notes_pdf']和{},那么它应该可以工作:

multiple_notes = ({'notes_pdf':'notes1.pdf','name':'notes_name1'}, 
                  {'notes_pdf':'notes2.pdf','name':'notes_name2'})

根据requests documentation,可以在POST请求中使用元组。在

相关问题 更多 >