从Django的MEDIA_ROOT中读取文件并让用户在前端下载,可以通过以下步骤实现:
from django.http import FileResponse
from django.conf import settings
import os
file_path = os.path.join(settings.MEDIA_ROOT, 'example.txt')
response = FileResponse(open(file_path, 'rb'))
response['Content-Type'] = 'application/octet-stream'
response['Content-Disposition'] = 'attachment; filename="example.txt"'
return response
在上述代码中,'application/octet-stream'是通用的二进制文件MIME类型,可以根据实际情况进行调整。
<a href="/download/">Download File</a>
在上述代码中,"/download/"是触发下载的URL路径,需要在Django的URL配置中将该路径映射到对应的视图函数。
这样,当用户点击下载链接时,Django将从MEDIA_ROOT中读取文件并将其作为响应返回给用户,浏览器会自动弹出文件下载对话框。
推荐的腾讯云相关产品:腾讯云对象存储(COS)是一种高可用、高可靠、强安全的云端存储服务,适用于存储和处理各种类型的媒体文件。您可以使用腾讯云COS存储用户上传的媒体文件,并通过腾讯云CDN加速文件下载,提供更好的用户体验。
腾讯云COS产品介绍链接:https://cloud.tencent.com/product/cos
领取专属 10元无门槛券
手把手带您无忧上云