我想将文件从 Backbone 上传到 Django 文件上传系统。
首先,我遵循了https://stackoverflow.com/a/10916733/1590377的解释。我做了一个 FileModel 并根据上述指示,我有一个包含以下信息的模型:
attributes: Object
data: "data:image/png;base64,iVBORw ..."
file: "image2012-06-12 13:36:45.png"
现在我将模型保存到我在 django 中有上传视图的 URL,如下所示:
def upload_file_64(request):
if request.method == 'POST':
file = cStringIO.StringIO(base64.b64decode(request.POST['data']))
#method to save the file
response_data={"result":"ok"}
return HttpResponse(simplejson.dumps(response_data), mimetype='application/json')
else:
response_data={"success": "No a post request"}
return HttpResponse(simplejson.dumps(response_data), mimetype='application/json')
但 django 系统给我的回应是:
"MultiValueDictKeyError at /api/upload64/↵'Key \'data\' not found in <QueryDict: {u\'base64,iVBORw0KG....
POST http 请求是:
POST:
base64,iVBORw0KG ..."} = u''
{"file":"Captura de pantalla de 2012-06-12 13:36:45.png","data":"data:image/png = u''
我该如何解决这个问题,以便我可以将文件上传到 django。我使用多部分方法从另一个平台上传文件,但使用主干我无法上传文件。
有人可以帮我解决这个问题吗?
谢谢!!