예제 #1
0
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)
예제 #2
0
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")