当前位置: 首页 > news >正文

Django压缩包形式下载文件

通过web将minio上的文件以压缩包-文件夹-文件的形式下载到本地

import os
from bx_mes import settings
from io import BytesIO
import zipfile
from django.http import StreamingHttpResponse
class FileRemote(GenericAPIView):def post(self,request):# 压缩包名folder_name = "bx_folder1" # minio的urlfile_list = [{"folder1":["2025/03/31/6e1740680ddc11f095c444a191981b27/23.pdf","2025/03/31/a13eb27c0dd811f095bb44a191981b27/mes测试进度统计.txt"]},{"folder2":["2025/04/16/2dbc67321a7511f0992e44a191981b27/mes_test.pdf"]}]zip_buffer = BytesIO()with zipfile.ZipFile(zip_buffer, 'w', zipfile.ZIP_DEFLATED) as zip_file:for folder_key in file_list:for folder in folder_key:for file in folder_key[folder]:# minio获取文件obj = MinioClass.remate_file(file)# 创建文件夹zip_path = os.path.join(folder, file.split('/')[4])zip_file.writestr(zip_path, obj.read())zip_buffer.seek(0)response = StreamingHttpResponse(zip_buffer,content_type='application/zip')response['Content-Disposition'] = f'attachment; filename="{folder_name}.zip"'return response

上述minio获取文件的函数 

def remate_file(cls,file_route):

        obj = minioClient.get_object(config.FILE_BUCKETS,file_route)

        return obj

config.FILE_BUCKETS   settings  中minio的配置桶名 

相关文章:

  • django三级联动
  • 【硬核DIY · 嵌入式AI】ESP32碰上AI——用Arduino在ESP32-S3上实现AI音频分类
  • 如何安全配置数据库(MySQL/PostgreSQL/MongoDB)
  • 华为OD机试真题——数据分类(2025B卷:100分)Java/python/JavaScript/C++/C语言/GO六种最佳实现
  • 「AR眼镜+智慧应急管理平台+视频联网」——矿山能源数智化转型的“安全之眼”与“效率引擎”
  • 如何在 Django 中集成 MCP Server
  • AI时代新词-AI增强现实(AI - Enhanced Reality)
  • [Java实战]Spring Boot整合达梦数据库连接池配置(三十四)
  • Python——day37早停策略和模型权重的保存
  • pyqt中添加资源文件
  • 2025.05.09【Bubblemap】气泡图深入解析
  • numpy与matplotlib学习——数据可视化入门
  • Selenium 测试框架 - .NET
  • 因重新安装python新版本,pycharm提示找不到python.exe(No Python at“c:\python.exe“)问题解决方法
  • AI时代新词-AI伦理(AI Ethics)
  • 李沐动手深度学习(pycharm中运行笔记)——10.多层感知机+从零实现+简介实现
  • Pycharm的简单介绍
  • docker compose yml 启动的容器中,如何使用linux环境变量赋值
  • 3DVR拍摄指南:从理论到实践
  • 【愚公系列】《生产线数字化设计与仿真》004-颜色分类站仿真(基础概念)
  • 做网站的属于什么行业/搜索引擎优化排名关键字广告
  • 可信赖的广州做网站/沈阳seo按天计费
  • 如何用vps系统搭建企业网站以及邮箱系统/如何推广app赚钱
  • 学院 网站 两学一做/seo管理工具
  • 章丘灵通环保设备在哪个网站上做的/2023年第三波新冠9月
  • 网络舆情监测员/重庆搜索引擎seo