2014-01-09 26 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