如何处理媒体文件而不将其保存在Django中

时间:2019-07-03 14:04:34

标签: python django

在我的django项目中,我收到了一个来自客户端的媒体文件。像这样

def upload(request):
    if request.method == 'POST':
        form = UploadFileForm(request.POST, request.FILES)
        if form.is_valid():
            handle_uploaded_file(request.FILES['file'], request.POST['fid'])
            return JsonResponse({"result":"ok"})
    return JsonResponse({"result":"failed","msg":"unkown"})


def handle_uploaded_file(f, fid):
    with open(STEP_DIR + '/' + fid, 'wb+') as destination:
        for chunk in f.chunks():
            destination.write(chunk)

另一方面,我想通过另一个模块来处理此文件。然后此模块将打开一个文件并按以下方式处理它:

Import thirdModule
thirdModule.open('path_to_url').exporter(...)

thirdModule 将按给定路径打开文件。所以我必须保存刚刚从django收到的文件?
有什么办法可以直接处理文件而不保存它?例如:

def handle_uploaded_file(f, fid):
    thirdModule.open(convert_media_to_stream(f))
    ...

1 个答案:

答案 0 :(得分:0)

Second()

更新

second()