如何从客户端下载按顺序生成的csv?

时间:2019-09-05 13:07:01

标签: convertigo

我在页面上有一个表单,从中可以调用一个序列来构建一个csv文件。我希望在顺序调用后可以直接从客户端浏览器下载此文件。 什么是c8o解决方案? 谢谢

1 个答案:

答案 0 :(得分:0)

两种可能性:

1 /您的序列调用将返回Convertigo服务器上(在项目或工作空间中)生成的CSV文件的URL,然后在Mobile Builder中创建一个指向该URL的链接。缺点是用户必须右键单击链接才能下载文件,否则它可能会显示在浏览器中。我尝试将“下载”属性添加到链接,但未成功

2 /与上面相同,但是链接不是直接指向CSV文件,而是指向在.bin(Convertigo requesters)中调用的新Convertigo序列,响应将是浏览器将下载的二进制文件。此序列必须返回特定的XML标签:

<attachment content-type="application/csv" local-url="D:\COMMON\C8O\sc757_64\workspace\DLFile\repository\data.csv" name="data.csv" type="attachment"/>

此方法还意味着用户必须手动单击链接。

您可以在此示例项目中获得有关如何执行此操作的更多详细信息:DLFile.car

我正在使用JS技巧来触发链接上的click事件,以自动执行文件下载:

在Mobile Builder HTML中:

<a class="class1567759665690" id="csvFile" href="http://localhost:18080/convertigo/projects/DLFile/.bin?__sequence=fileBin&amp;name=data.csv&amp;filePath=D%3A%5CCOMMON%5CC8O%5Csc757_64%5Cworkspace%5CDLFile%5Crepository%5Cdata.csv">data.csv</a>

在CustomAction组件中:

setTimeout(() => {
            document.getElementById("csvFile").click();
        }, 500);

希望有帮助。