Web2Py如何使用response.stream下载多个文件

问题描述

我想在Web2Py的静态文件夹下有多个json和csv文件,我想使用web2py控制器和response.stream从服务器下载到本地客户端。以下控制器代码有效:

def my_download():
    directory = '2e6d2ba1-52d7-4927-b91d-c7568b25314d/'
    Cat = 'problems'

    path=os.path.join(request.folder,'static',directory + Cat + '.json')
    return response.stream(open(path,'rb'),attachment=True,filename=Cat)

如何遍历directory中具有Cat = 'foo'Cat ='bar'等的其他文件,然后将/ dl全部流式传输到客户端?

在第一个return response.stream成功运行之后,控制器不再具有焦点,因此无法继续执行另一个return response.stream或与此相关的任何其他语句(例如,删除文件

解决方法

使用jquery事件,并使用ajax调用以及参数(文件名或其他内容)来调用控制器功能。它就像循环一样。