javascript - 如何将字节转换为用户可以在 Django 中下载的文件?

标签 javascript python python-3.x django django-file-upload

我的 Django 数据库中保存了一个文件的字节。我希望用户能够下载此文件。

我的问题是如何将字节转换为实际的可下载文件。我知道文件名、大小、字节、类型以及几乎所有我需要知道的内容。

我只需要把字节转换成可下载的文件。 我该怎么做?

我不介意将文件字节发送到前端,以便 JavaScript 可以使文件可供下载。有谁知道如何在 JavaScript 中做到这一点?

最佳答案

如果你查看 Django 文档:

Django request-response

有一个类是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/

相关文章:

javascript - 我可以将 Array.prototype.sort 应用于某个具有访问器属性的类数组对象吗?

javascript - PHP 中的 Jquery div 填充只是重定向到 PHP 页面?

javascript - 在 d3 中鼠标悬停时更新行顺序(z 方向)

javascript - 使用 setInterval() 设置函数以某个值起作用

python - pandas - 扩展 DataFrame 的索引,将新行的所有列设置为 NaN?

带有自定义共享库的 Python C 扩展链接

python - 在 __init__ 之外初始化字段

python 3 : Asterisk in print function

python - 如何通过在一个函数中包含所有类型的填充来处理缺失值?

python - 将列表的第一个元素除以第二个元素,第三个元素除以第四个元素,依此类推