使用React / Node无状态下载.zip

时间:2018-06-21 13:34:13

标签: node.js reactjs download zip

我有一个要转换为使用React前端的Node / EJS应用程序。该应用程序的主要功能是发出POST请求以查找一些数据,然后将结果打包为.zip文件并将其下载到用户的计算机上。使用存档程序包,这是现有(仅节点)功能的外观:

    Promise.map(<stuff to lookup>, function(edition) {
        return <model function>
    })
    .then(function(results) {
        let zip = archiver('zip');
        res.header('Content-Type', 'application/zip');
        res.header('Content-Disposition', 'attachment; filename="zipFile.zip"');
        zip.pipe(res);
        for (image of results) {              
            <add image to zip>
        }
        zip.on('error', function(err) {
          throw err;
        });
        zip.finalize();
    });

我找不到新的React前端使之工作的方法。问题似乎是React不允许下载POST请求吗?我想到的一个可能的替代方法是创建一个临时文件,并将其链接传递回React,然后运行GET请求以下载它。但是应用程序原样是完全无状态的,所有信息都来自第三方API,并且在使用此方法后会立即被忘记,我希望尽可能保持这种状态。

0 个答案:

没有答案