通过NodeJS和SailsJS下载文件

时间:2019-01-06 12:14:42

标签: javascript node.js sails.js

我需要制作一个API才能下载静态文件test.js

当我用Postman测试API时,结果只是显示文件的内容,而不是下载。

可以吗?

async downloadTemplate(req , res) {
    let fs = require('fs');
    if(fs.existsSync('downloads/test.js'))
    {   
        res.setHeader('Content-disposition', 'attachment; filename=' + 'test.js');

        let filestream = fs.createReadStream('downloads/test.js');
        //return res.download('downloads/test.js' , 'test.js')
        return filestream.pipe(res);
    } else {
        res.json({error : "File not Found"});
    }
}

1 个答案:

答案 0 :(得分:0)

邮递员不得用于下载文件。

将使用API​​的客户端应决定如何处理结果。

如果客户端将要使用浏览器-只需使用浏览器而不是邮递员测试api。

如果服务器链接为html,请在href中使用download属性

如果您使用的是Axios,则可以找到所需的帮助here