1

我正在为 Django 应用程序开发一项功能,该功能将文件(在我的上下文中的图像)上传到服务器。一切正常,但我想知道如何接收上传的文件路径作为回调。

这是我的观点:

def post(self, request):
    if request.method == 'POST':
        form = UploadFileForm(request.POST, request.FILES)
        if form.is_valid():
            handle_uploaded_file(request.FILES['uploadedFile'])
            return redirect('/')
    else:
        form = UploadFileForm()
    return render_to_response('index.html', {'form': form})

我的表格:

class UploadFileForm(forms.Form):
    uploadedFile = forms.FileField()

我的处理程序:

def handle_uploaded_file(source):
    fd, filepath = tempfile.mkstemp(prefix=source.name, dir=FILE_UPLOAD_DIR)
    with open(filepath, 'wb') as dest:
        shutil.copyfileobj(source, dest)
    return filepath

我知道handle_uploaded_file(request.FILES['uploadedFile'])从我的角度来看是我需要作为回调的必需字符串,但是如何在响应中接收它?可以接收图像的路径而不是我的 index.html(它只是为了测试目的),以便在前端部分进行进一步操作。我可能听起来像个菜鸟,但我真的很想如果能以某种方式工作。还有一种方法可以让我的视图处理多个文件上传吗?这是我需要在我的处理程序中更改的东西吗?不好意思提了这么多问题...

4

1 回答 1

0

尝试这个:

file_path = handle_uploaded_file(request.FILES['uploadedFile']) 
return render_to_response('index.html', {'form': form, 'file_path': file_path})
于 2013-03-13T15:11:51.060 回答