2012-11-16 47 views
0

在我的Django的後端,我處理這樣的圖片:如何在Python中像Java中的字節數組一樣發佈圖像?

for file in request.FILES.iteritems(): 
      image = request.FILES["image"] 

這是很容易使用發送一個字節數組通過java POST請求。

但如何使用Python做一個post請求?

因爲,我有一個圖片網址。

我已經下載使用

r = requests.get('url') 
r.content #ImageConent 

現在我該如何發佈它,使得它是作爲一種字節數組中的URL iamge?

+0

後它在哪裏?你是否指向另一臺服務器的HTTP POST? –

+0

另外,你的'for'循環沒有必要。只需執行'image = request.FILES [「image」]'*而不用循環*。 –

+0

我打算做一個HTTP帖子。 – Hick

回答

2

看看如何發送多部分請求的requests documentation。基本上,你只需要做:

>>> url = 'http://httpbin.org/post' 
>>> files = {'file': open('report.xls', 'rb')} 
>>> r = requests.post(url, files=files) 

或者你的情況:

>>> r = requests.get(url1) 
>>> files = {'image': r.content} 
>>> r = requests.post(url2, files=files) 
+0

除OP在內存中有圖像數據外,不是文件。你需要解釋如何將它寫入文件,或者如何使用類似'StringIO()'的東西來使它像文件一樣。但我們必須首先確定OP希望用圖像做什麼。 –

+0

MultiValueDictKeyError:「Key'image'not found in 」 – Hick

+0

這似乎是你的Django部分的問題。我剛剛使用請求來測試文件上傳到simpe django視圖,它應該像描述的那樣工作。 – mata

相關問題