2016-08-19 64 views
0

我有一個獵鷹服務器,我試圖移植到Django。其中一個獵鷹端點處理包含與content_type = 'application/octet-stream'一起發送的PNG文件的請求。它將數據寫入保持正確PNG結構的文件。在Django中接收PNG文件

獵鷹代碼做到這一點:

form = cgi.FieldStorage(fp=req.stream, environ=req.env) 

然後寫入巴布亞新幾內亞這樣的:

fd.write(form[key].file.read()) 

我無法弄清楚如何做同樣的事情在Django。當我的視圖被調用時,request.POST[key]中的數據已經被解碼爲unicode文本,並且它不再是有效的png數據。

我該怎麼用django做這個?我應該/可以使用cgi.FieldStorage?我得到的請求(類型django.core.handlers.wsgi.WSGIRequest)沒有流方法。我相信有一些方法可以做到這一點,但我還沒有拿出任何谷歌搜索。

回答

0

我解決了這個問題,通過更改客戶端來設置multipart的每個部分的文件和文件名字段,然後我就能夠遍歷request.FILES併成功將文件寫入PNG。