簡體   English   中英

通過REST API調用使用Python請求上傳多個文件

[英]Uploading multiple files using Python request over a REST API call

我可以使用以下代碼上傳單個文件:

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'}]

我無法以這種方式發送對象。 任何幫助將不勝感激。 謝謝。

我不知道此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, ...)

如果您要使用所述的notes[0]['notes_pdf']notes[1]['notes_pdf'] ,則應該可以使用:

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

根據請求文檔,您可以在POST請求中使用元組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM