def upload_file(request): #this is handled by a different session then the user's browser, hence csrf exempt if not request.POST: return HttpResponseBadRequest() from directupload.backends.djangoview import unsign data = dict(parse_qsl(unsign(request.POST['payload']))) assert data['request_time'] #TODO respect some expiration path = request.POST['targetpath'] file_path = default_storage.save(path, request.FILES['file']) #TODO how to tell the storage engine not to rename? return HttpResponse(file_path)
def upload_file(request): # this is handled by a different session then the user's browser, hence csrf exempt if not request.POST: return HttpResponseBadRequest() from directupload.backends.djangoview import unsign data = dict(parse_qsl(unsign(request.POST["payload"]))) assert data["request_time"] # TODO respect some expiration path = request.POST["targetpath"] file_path = default_storage.save(path, request.FILES["file"]) # TODO how to tell the storage engine not to rename? info = { "name": os.path.basename(file_path), "size": default_storage.size(file_path), "url": default_storage.url(file_path), "thumbnail_url": "", # default_storage.url(file_path), "delete_url": "", # "\/\/example.org\/upload-handler?file=picture1.jpg", "delete_type": "DELETE", } import directupload.backends.djangoview direct_upload_success.send(sender=directupload.backends.djangoview, name=file_path, request=request) return HttpResponse(json.dumps([info]), mimetype="application/json")