我已经创建了一个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文件的名称还取决于用户输入(选择的文件和数量)。
答案 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>