Python Flask,从服务器下载文件

时间:2018-07-31 06:48:35

标签: python html flask

我已经创建了一个Web应用程序,该应用程序允许其用户从运行该应用程序的同一服务器上下载文件。但是,我无法使其以我想要的方式工作,现在我什至不确定是否可行。

因此,我有一个表单,其中包含两个用户输入和一个“下载”按钮。第一个用户输入可让您选择文件,第二个用户输入可让您选择金额。当您单击下载按钮时,该应用程序将根据用户输入创建一个zip文件,然后尝试将其发送给用户。无论如何,永远不会将zip文件发送给用户。

这是html中按钮的外观

<input type="submit" name="submit" value="Download" class="btn" >

下面是应用程序中的send_file()函数调用。

send_file(uploads + cfg_zipfile, attachment_filename=cfg_zipfile, as_attachment=True)

该函数返回状态200,因此它似乎正在工作。仍然没有文件被发送,但是文件存在于服务器上。那么,这样做是否有可能呢?我知道我可以使用该按钮创建zip文件,然后会出现一个下载链接,用户可以从该链接下载该文件,但是是否可以通过一个按钮来获得所有这些功能?当前zip文件的名称还取决于用户输入(选择的文件和数量)。

1 个答案:

答案 0 :(得分:1)

我认为您应该创建服务

/**
 * {@inheritdoc}
 */
public function getCode()
{
    return 'custom_module_entity';
}

这将使用GET方法调用服务。 python中的服务看起来像这样:

 <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>