Python Flask,从服务器下载文件
我创建了一个web应用程序,它允许用户从运行该应用程序的同一服务器下载文件。然而,我不能让它按照我想要的方式工作,现在我甚至不确定它是否可行 所以,我有一个表单,它包含两个用户输入和一个“下载”按钮。第一个用户输入用于选择文件,第二个用户输入用于选择数量。当您点击下载按钮时,应用程序将根据用户输入创建一个zip文件,并尝试将其发送给用户。无论如何,zip文件永远不会发送给用户 下面是按钮在html中的外观Python Flask,从服务器下载文件,python,html,flask,Python,Html,Flask,我创建了一个web应用程序,它允许用户从运行该应用程序的同一服务器下载文件。然而,我不能让它按照我想要的方式工作,现在我甚至不确定它是否可行 所以,我有一个表单,它包含两个用户输入和一个“下载”按钮。第一个用户输入用于选择文件,第二个用户输入用于选择数量。当您点击下载按钮时,应用程序将根据用户输入创建一个zip文件,并尝试将其发送给用户。无论如何,zip文件永远不会发送给用户 下面是按钮在html中的外观 下面是应用程序中的send_file()函数调用 send_file(uploads
下面是应用程序中的send_file()
函数调用
send_file(uploads + cfg_zipfile, attachment_filename=cfg_zipfile, as_attachment=True)
该函数返回状态200,因此它似乎正在工作。尽管如此,没有发送任何文件,但该文件存在于服务器上。那么,这样做可能吗?我知道我可以用这个按钮创建zip文件,然后会出现一个下载链接,用户可以从这个链接下载它,但是一个按钮就可以获得所有这些功能吗?当前zip文件的名称还取决于用户输入(选择的文件和数量)。我认为您应该创建一个服务
<button ng-show='downloadReportview' data-toggle="modal" class="btn btn-success glyphicon glyphicon-download">
<a href="http://{{location}}/api/xx/xxxx//{{costDataReportName}}" download>Download Report</a>
</button>
def get(self, filename):
# RETURN THE INVOICE
file_name = str(expanduser("~")) + UPLOAD_PATH + str(filename)
f = open(file_name, "rb")
output = f.read()
self.set_header('Content-Disposition', 'attachment; filename=output.csv')
self.set_header('Content-type', 'text/csv')
self.write(output)
print("Invoice download")