gpt4 book ai didi

python - 如何下载使用 django-filebrowser 上传的文件?

转载 作者:太空宇宙 更新时间:2023-11-03 11:55:30 25 4
gpt4 key购买 nike

我正在尝试创建文件对象的下载。该文件是使用 django-filebrowser 添加的,这意味着它被转换为该文件的字符串路径。我尝试了以下方法:

f = Obj.objects.get(id=obj_id)
myfile = FileObject(os.path.join(MEDIA_ROOT, f.Audio.path))
...

response = HttpResponse(myfile, content_type="audio/mpeg")
response['Content-Disposition'] = 'attachment; filename=myfile.mp3'

return response

下载的文件包含文件位置的路径字符串,而不是文件。谁能就如何访问文件对象提供帮助?

最佳答案

f = Obj.objects.get(id=obj_id)
myfile = open(os.path.join(MEDIA_ROOT, f.Audio.path)).read()
...

response = HttpResponse(myfile, content_type="audio/mpeg")
response['Content-Disposition'] = 'attachment; filename=myfile.mp3'

return response

注意!这对内存不友好!由于整个文件被放入内存。你最好使用网络服务器来提供文件服务,或者如果你想使用 Django 来提供文件服务,你可以使用 xsendfile或者看看这个thread

关于python - 如何下载使用 django-filebrowser 上传的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11845309/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com