2014-01-09 28 views
0

讓外部計算機發送帶有enctype:multipart/form-data的POST。數據包由Django服務器接收。在view.py從Django的request.FILES中檢索Json而不寫入文件

@csrf_exempt 
def testPost(request):  
    jsonData = None 
    if request.FILES.has_key('data'): 
     file = ContentFile(request.Files['data']) 
     jsonData.encode(file) 

    return HttpResponse(jsonData) 

print request.FILES 
<MultiValueDict: {u'data': [<InMemoryUploadedFile: test.json (application/octet-stream)>], u'sampleImage': [<InMemoryUploadedFile: test.jpg (application/octet-stream)>]}> 

當前代碼我試過文件(request.Files [ '數據']),這也似乎沒有結束的。我成功地將ImageFile用於圖像,但沒有關於Json數據的文檔。 request.Files ['data']如何轉換爲字典?

回答

0

如果要獲取上傳文件的內容,可以直接使用.read() api。

您正在將jsonData指定給None,然後嘗試調用encode()方法,該方法不正確。

喜歡的東西:

if request.FILES.has_key('data'): 
    file = request.Files['data'] 
    data = file.read() 
    #you have file contents in data