2013-11-27 112 views
5

我想請求我的服務器運行在python瓶與文件和一些元信息。因此,我的請求內容類型將是'multipart/form-data。有沒有一種方法可以設置像image/jpg,image/gif等文件的內容類型... 如何設置文件的內容類型。是否有可能或不內容 - 輸入python請求中的單個文件

+0

你嘗試過什麼嗎?這聽起來像是將在文檔中解釋的東西。 –

+0

@SimeonVisser:雖然這是可能的,但它實際上在任何地方都沒有記錄。 –

+0

@MartijnPieters:夠公平的,看起來你已經回答了下面的問題。 –

回答

13

如果你把每個文件規範一個元組,你可以指定MIME類型作爲第三個參數:

files = { 
    'file1': ('foo.gif', open('foo.gif', 'rb'), 'image/gif'), 
    'file2': ('bar.png', open('bar.png', 'rb'), 'image/png'), 
} 
response = requests.post(url, files=files) 

你可以給一個第四個參數爲好,這必須是一個字典爲每個零件添加額外的標題。

+0

它與最近版本的請求無效 – Khertan

+1

@Khertan:什麼讓你有那個想法? [documentation](http://docs.python-requests.org/en/latest/user/advanced/#post-multiple-multipart-encoded-files)仍然相同。你可以像這裏一樣使用一系列'(key,fileinfo)'元組和我在這裏使用的字典。 –

+1

@Khertan:我只是再次與主分支一起嘗試,這仍然適用,我在這裏展示。 –