使用 knox/node.js 直通将 S3 文件下载为附件



我正在尝试通过节点/诺克斯工作从 S3 下载文件。我的javascript调用正在工作并成功下载文件,但我想将其下载为附件。我尝试将标题设置为 'Content-disposition': 'attachment; filename=myfile.zip' ,但它似乎不起作用。这是我的示例代码:

var mimetype = mime.lookup(product.filename);           
var headers = {
    'Content-disposition': 'attachment; filename=' + product.filename,
    'Content-type': mimetype
};
var get = knox.getFile(product.filename, function(err, result){
    if(err) { return next(err); }   
    res.setHeader('Content-disposition', 'attachment; filename=' + product.filename);
    res.setHeader('Content-type', mimetype);
    result.pipe(res);           
});

我也尝试在 knox 调用上设置这些标头,但仍然不会作为附件下载。

所以看起来问题根本不是我的服务器,因为我不知道你不能使用 xhr(即与 Angular $resource)将文件下载为附件。到目前为止,我发现解决此问题的最简单方法是仅使用 xhr 来验证下载,向用户返回一个令牌,该令牌可用于非 xhr 获取实际文件。

最新更新