Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在水瓶中下载多个文件

在水瓶中下载多个文件
EN

Stack Overflow用户
提问于 2021-11-08 02:05:36
回答 2查看 3.2K关注 0票数 0

我试图为客户端提供下载一些文件的选择。用户/客户端可以下载多个文件或单个文件。

但是,我无法理解如何为用户提供下载多个文件的选项。

以下是我到目前为止尝试过的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@app.route('/download_files')
def download():
    count=0
    download_list=[]
    for path in pathlib.Path("dir1/dir2").iterdir():
        if path.is_file():
            for i in names:
                if pathlib.PurePosixPath(path).stem == i:
                    count += 1
                    download_list.append(path)
    return send_file(download_list, as_attachment=True, mimetype="text/plain", download_name="Downloaded Files", attachment_filename="Generated Files")

即使在一个文件中,这也不能正常工作。我要下载的文件类型是扩展名为.sql的文本文件。

我是否需要压缩多个文件,然后提供下载选项?请与我的可用选项指南。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-11-08 12:02:40

为了在一起提供多个文件作为下载,您只能选择将它们压缩到存档中。

在我的示例中,所有与指定模式匹配的文件都会在zip存档中列出和压缩。这是写入内存并由服务器发送的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from flask import Flask
from flask import send_file
from glob import glob
from io import BytesIO
from zipfile import ZipFile
import os

app = Flask(__name__)

@app.route('/download')
def download():
    target = 'dir1/dir2'

    stream = BytesIO()
    with ZipFile(stream, 'w') as zf:
        for file in glob(os.path.join(target, '*.sql')):
            zf.write(file, os.path.basename(file))
    stream.seek(0)

    return send_file(
        stream,
        as_attachment=True,
        download_name='archive.zip'
    )
票数 5
EN

Stack Overflow用户

发布于 2021-11-08 03:05:52

您还没有提供实际获取这些文件或此文件的代码示例。最低限度的工作示例如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from flask import Flask, request

app = Flask(__name__)

@app.route('/download_files', methods=['POST'])
def download():
    file = request.files['file'] # for one file
    files = request.files.getlist("file[]") # if there're multiple files provided

if __name__ == "__main__":
    app.run()

在您的文件之后,变量将是werkzeug.FileStorage文件的对象,变量将是这些对象的列表。要下载所有这些文件,您可以检查这个问题

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69881709

复制
相关文章
在MapReduce中利用MultipleOutputs输出多个文件
用户在使用Mapreduce时默认以part-*命名,MultipleOutputs可以将不同的键值对输出到用户自定义的不同的文件中。
星哥玩云
2022/07/03
2.1K0
在MapReduce中利用MultipleOutputs输出多个文件
vim打开多个文件、同时显示多个文件、在文件之间切换 打开多个文件:
1.vim还没有启动的时候: 在终端里输入 vim file1 file2 ... filen便可以打开所有想要打开的文件 2.vim已经启动 输入 :open file 可以再打开一个文件,并且此时vim里会显示出file文件的内容。
sunsky
2020/08/19
15.4K0
下载网络直播,多个ts文件下载与合并
进入录播回放的页面,右键审查元素,选择network,可以知晓目前的文件活动情况。首先出来的是第一个ts文件,如图所示:472.ts,这个是第一个文件。把进度条拉动到最后面,会下载最后一个文件,如1850.ts。
全栈程序员站长
2022/09/09
2.8K0
多个文档怎么批量下载文件 电脑怎么批量使用IDM下载文件
网上有很多的文档资源,如果一个一个的点击下载非常麻烦,浪费时间效率低。无论什么时候,提升工作效率都是非常必要的,使用批量下载工具可以帮助我们快速便捷的下载我们需要的文件,减轻我们的工作量。今天小编就和大家聊聊多个文档怎么批量下载到桌面,以及电脑怎么批量下载文件。
用户9208731
2023/01/04
10.2K0
多个文档怎么批量下载文件 电脑怎么批量使用IDM下载文件
Linux 中复制文件到多个目录中
在学习 Linux 的过程中,对于新手而言总是会使用几个命令来完成一个简单的任务。对正在熟悉使用终端的人这是很容易理解的行为。然而,如果你想要成为一个老手,学习一些“快捷命令”会显著减少时间浪费。
小小工匠
2021/08/16
5.4K0
利用flutter_downloader插件在Flutter中实现文件下载
之前有做一个工具集的微信小程序「开挂Lite」,但是由于小程序自身限制,没有办法实现下载文件的功能,只能把下载链接解析出来。而且受限于微信平台,小程序的审核是一件很麻烦的事情,因此有了将其APP化的想法。
出其东门
2019/07/19
6.3K0
利用flutter_downloader插件在Flutter中实现文件下载
java实现多个网络文件批量下载并压缩
文档管理模块,列表中显示的记录的每日文件上传保存的记录.每条数据中有一个字段存放了文件的存储地址文件服务器上
java攻城狮
2020/10/10
5.8K0
React引入jszip实现多个文件打包成zip下载
jszip文档 安装两个插件 yarn add jszip file-saver 可直接复制查看效果 import JSZip from 'jszip' import { saveAs } from 'file-saver' export default () => { //通过请求获取文件blob格式 function getFileBlob(url) { return new Promise((resolve, reject) => {
明知山
2022/05/05
2.5K0
React引入jszip实现多个文件打包成zip下载
VBA在多个文件中Find某字符的数据并复制出来
【问题】有几个文件,每个文件中有很多条记录,我现在要提取出含有“名师”两个字符的记录。
哆哆Excel
2022/10/25
2.9K0
VBA在多个文件中Find某字符的数据并复制出来
Django中配置多个setting.py文件
项目在开发环境和实际的生产环境中,settings.py配置文件通常是不一样的,而且按照以往的开发经验来看,项目开发完成后settings.py通常存放着一些用户名与密码,所以需要对这些隐私配置项进行单独的配置。
Hsinyan
2022/06/19
7620
Django中配置多个setting.py文件
汽水瓶(OI赛题)
有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?
pigeon
2022/04/11
3190
在pycharm中如何将django中多个app放到同个文件夹apps处理
新建apps文件夹后mark为source目录,然后在Setting中import方式为
Ewdager
2020/07/14
2K0
在NETCORE中,实现对AzureBLOB文件的上传下载操作
在之前的文章中,说到了SeaweedFS和MinIO,如果是使用的微软全家桶的话,那肯定就使用Azure Blob了,更直接、更简单和更高效。
老张的哲学
2023/08/23
5250
在NETCORE中,实现对AzureBLOB文件的上传下载操作
Word文件内嵌入多个PPT/WORD等文件在苹果系统无法打开
我们遇到了一个Word文件内嵌入了PPT在苹果电脑无法打开,提示错误“ the program used to create this object is powerpoint that program is not installed on your computer”
繁华是客
2023/03/03
1.4K0
在linux下安装ctorrent下载种子文件
VPS大家手里多多少少都会有那么一两个(win请绕道),如果能让他们在空闲的时候帮我们下载一些很大,但是又下载很慢的种子,岂不是一举两得!
老高的技术博客
2022/12/24
3.3K0
JS创建多个下载任务
//JS创建多个下载任务 function Down() { //文件名 var namearr = []; //文件路径 var hrefarr = []; $(".downs .col-md-4").each(function (index, item) { namearr.push(需要下载的文件名); hrefarr.push(需要下载的文件路径); }) for (var index = 0; index <
小语雀网
2022/05/06
12K0
15. 在错误分析中并行多个想法
你的团队有以下几个想法,来改进你的猫咪分类器: • 解决狗被错误分为猫咪的问题。 • 解决“大型猫科动物(greast cats)”(狮子或豹子等)被错认家猫(宠物)的问题 • 提高系统在模糊(
YingJoy_
2018/05/30
1.3K0
在Ubuntu 系统中怎么切换多个 PHP 版本
有时,最新版本的安装包可能无法按预期工作。你的程序可能与更新的软件包不兼容,并且仅支持特定的旧版软件包。在这种情况下,你可以立即将有问题的软件包降级到其早期的工作版本。请参阅我们的旧指南,在这了解如何降级 Ubuntu 及其衍生版中的软件包以及在这了解如何降级 Arch Linux 及其衍生版中的软件包。但是,你无需降级某些软件包。我们可以同时使用多个版本。例如,假设你在测试部署在 Ubuntu 18.04 LTS 中的LAMP 栈的 PHP 程序。过了一段时间,你发现应用程序在 PHP 5.6 中工作正常,但在 PHP 7.2 中不正常(Ubuntu 18.04 LTS 默认安装 PHP 7.x)。你打算重新安装 PHP 或整个 LAMP 栈吗?但是没有必要。你甚至不必将 PHP 降级到其早期版本。在这个简短的教程中,我将向你展示如何在 Ubuntu 18.04 LTS 中切换多个 PHP 版本。它没你想的那么难。请继续阅读。
会长君
2023/04/25
2.5K0
点击加载更多

相似问题

在水瓶中测试文件上传

46

在水瓶中动态解析文件

22

Python水瓶Swagger Flasgger下载Excel

26

对多个文件中的模型使用水瓶迁移

12

在iOS中批量下载多个文件

692
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文