我正在研究一个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(它仅用于测试目的)图像的路径,以便在前端部分进一步操作。
我可能听起来像一个菜鸟但我真的想要,如果它以某种方式工作。
我的View还有办法处理多个文件上传吗?我需要在处理程序中更改这些内容吗?
很抱歉提出这么多问题......
答案 0 :(得分:0)
试试这个:
file_path = handle_uploaded_file(request.FILES['uploadedFile'])
return render_to_response('index.html', {'form': form, 'file_path': file_path})