0

我正在尝试通过 node/knox 工作从 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 调用上设置这些标题,但仍然不会作为附件下载。

4

1 回答 1

1

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

于 2014-03-01T02:08:20.313 回答