django 静态文件夹中文件 打包成zip文件 返回给前端下载
以下是一个简单的例子,用于将django静态文件夹中的文件打包成zip文件并返回给前端进行下载:
import os
import zipfile
from django.http import HttpResponse
def download_static_files(request):
# 获取静态文件夹路径
static_dir = os.path.join(os.getcwd(), 'static')
# 创建zip文件对象
zip_file = zipfile.ZipFile('static_files.zip', 'w')
# 遍历静态文件夹中的所有文件
for root, dirs, files in os.walk(static_dir):
for file in files:
# 获取文件路径
file_path = os.path.join(root, file)
# 将文件添加到zip文件中
zip_file.write(file_path, file)
# 关闭zip文件对象
zip_file.close()
# 打开zip文件并将其内容返回给前端进行下载
with open('static_files.zip', 'rb') as f:
response = HttpResponse(f.read(), content_type='application/zip')
response['Content-Disposition'] = 'attachment; filename=static_files.zip'
return response
在上面的代码中,我们首先获取django静态文件夹的路径,然后创建一个zip文件对象,遍历静态文件夹中的所有文件,并将它们添加到zip文件中。然后,我们关闭zip文件对象,并将其内容返回给前端进行下载。请注意,在返回响应时,我们设置了“Content-Disposition”头,以便浏览器将文件保存为zip文件
原文地址: https://www.cveoy.top/t/topic/fJUl 著作权归作者所有。请勿转载和采集!