当前位置: 首页 > 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的配置桶名 

http://www.dtcms.com/a/213767.html

相关文章:

  • 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-颜色分类站仿真(基础概念)
  • JAVA 学习日志
  • AI智能混剪视频大模型开发方案:从文字到视频的自动化生成·优雅草卓伊凡
  • 《基于Keepalived+LVS+Web+NFS的高可用集群搭建》
  • 集成30+办公功能的实用工具
  • 【生产实践】华为存储XSG1在RHEL 7.x/8.x上的多路径配置操作手册(生产环境)
  • STM32 RTC实时时钟\BKP备份寄存器\时间戳
  • 【Opencv+Yolo】_Day1图像基本处理
  • 基于深度学习的情绪识别检测系统【完整版】
  • 对接 uniapp 通过中间层(JSBridge)集成零信任 原生androiid和ios SDK
  • Milvus分区-分片-段结构详解与最佳实践