Jay*_*Jay 4 django video response
如何在 django 中发送视频 mp4 文件作为响应?我不想嵌入 html 的视频或对象标签,而是想发送 mp4 本身。任何人都可以帮忙解决这个问题吗?
通常你不想这样做;最好重定向到非 Django 服务器以提供静态文件,例如django.shortcuts.redirect
- 它会更快,内存效率更高,并且可能更安全。但当然有时这并不方便。这应该有效:
from wsgiref.util import FileWrapper
file = FileWrapper(open('path/to/video.mp4', 'rb'))
response = HttpResponse(file, content_type='video/mp4')
response['Content-Disposition'] = 'attachment; filename=my_video.mp4'
return response
Run Code Online (Sandbox Code Playgroud)
使用FileWrapper
( docs ) 以便不会一次发送太多数据,因为 Python 文件对象一次迭代一行,并且\n
字符在 mp4 中可能不是特别常见。(发送太多意味着网络服务器无法发送文件,因为它是从硬盘读取的,而是必须等待很长的间隔不合适的增量。)
请注意,虽然我没有在文档中的任何地方看到这一点,但文件在使用.
归档时间: |
|
查看次数: |
3725 次 |
最近记录: |