我的 Django 数据库中保存了一个文件的字节。我希望用户能够下载此文件。
我的问题是如何将字节转换为实际的可下载文件。我知道文件名、大小、字节、类型以及几乎所有我需要知道的内容。
我只需要把字节转换成可下载的文件。 我该怎么做?
我不介意将文件字节发送到前端,以便 JavaScript 可以使文件可供下载。有谁知道如何在 JavaScript 中做到这一点?
最佳答案
如果你查看 Django 文档:
有一个类是FileResponse
FileResponse(open_file, as_attachment=False, filename='', **kwargs)
FileResponse 是 StreamingHttpResponse 的子类,针对二进制文件进行了优化。
它接受像 io.BytesIO 这样的类似文件的对象,但你必须在将其传递给 FileResponse 之前对其进行eek()。
FileResponse 接受任何具有二进制内容的类文件对象,例如以二进制模式打开的文件,如下所示:
from django.http import FileResponse
import io
buffer = io.BytesIO(file)
buffer.seek(0)
response = FileResponse(buffer, as_attachment=True, filename='filename.foo')
关于javascript - 如何将字节转换为用户可以在 Django 中下载的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73555113/