使用Python 要求上傳檔案:處理檔案大小和傳輸問題
在本文中,我們將介紹如何使用Python 有效上傳檔案要求庫。上傳檔案的能力對於需要將資料傳輸到遠端伺服器的各種應用程式至關重要。
問題陳述
使用者遇到了檔案所在位置的問題伺服器未收到使用 requests.post 上傳的內容。用戶提供了演示其嘗試的程式碼,但文件仍然為空且無法存取。
解決方案
問題在於在請求中設定檔案參數的語法。帖子方法。要指定文件,您應該直接使用files參數,而不是混合values字典中的upload_file值。
修訂程式碼
這裡是解析的更新程式碼問題:
import requests url = 'http://nesssi.cacr.caltech.edu/cgi-bin/getmulticonedb_release2.cgi/post' files = {'upload_file': open('file.txt', 'rb')} values = {'DB': 'photcat', 'OUT': 'csv', 'SHORT': 'short'} r = requests.post(url, files=files, data=values)
在這種情況下,files特指檔案數據,而values用於非文件資料資料。 upload_file 參數由 requests 內部處理。
其他注意事項
解決方案建議直接使用files 參數,但也可以提供一個元組作為值,包括檔案名稱、內容、內容類型和可選標頭。
對於例如:
files = {'upload_file': ('foobar.txt', open('file.txt', 'rb'), 'text/x-spam')}
如果您打算將整個 POST 正文作為文件上傳,請避免使用文件。相反,將檔案直接作為資料發布,並考慮設定 Content-Type 標頭以確保伺服器正確處理。
透過遵循這些修改,您可以使用 Python 請求有效上傳文件,確保成功傳輸並啟用您可以在應用程式中利用文件傳輸功能。
以上是如何使用Python的Requests庫成功上傳檔案並解決傳輸問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!