Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Flask,从服务器下载文件_Python_Html_Flask - Fatal编程技术网

Python Flask,从服务器下载文件

Python Flask,从服务器下载文件,python,html,flask,Python,Html,Flask,我创建了一个web应用程序,它允许用户从运行该应用程序的同一服务器下载文件。然而,我不能让它按照我想要的方式工作,现在我甚至不确定它是否可行 所以,我有一个表单,它包含两个用户输入和一个“下载”按钮。第一个用户输入用于选择文件,第二个用户输入用于选择数量。当您点击下载按钮时,应用程序将根据用户输入创建一个zip文件,并尝试将其发送给用户。无论如何,zip文件永远不会发送给用户 下面是按钮在html中的外观 下面是应用程序中的send_file()函数调用 send_file(uploads

我创建了一个web应用程序,它允许用户从运行该应用程序的同一服务器下载文件。然而,我不能让它按照我想要的方式工作,现在我甚至不确定它是否可行

所以,我有一个表单,它包含两个用户输入和一个“下载”按钮。第一个用户输入用于选择文件,第二个用户输入用于选择数量。当您点击下载按钮时,应用程序将根据用户输入创建一个zip文件,并尝试将其发送给用户。无论如何,zip文件永远不会发送给用户

下面是按钮在html中的外观


下面是应用程序中的
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")