gpt4 book ai didi

javascript - S3 下载文件名中带有逗号的图像会导致 "net::ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION"

转载 作者:太空宇宙 更新时间:2023-11-03 22:30:07 24 4
gpt4 key购买 nike

我已存储用户在 AWS S3 上上传的图像。当用户在浏览器中查看这些图像时,它们的 URL 指向我的应用程序,我在其中使用 s3.getSignedUrl 重定向到临时签名的 URL。 99% 的情况下一切都运行良好。

问题是,用户偶尔会上传文件名中包含逗号的图像。当他们尝试在 Chrome(且仅限 Chrome)中查看该图像时,我收到此错误

net::ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION

我发现这是逗号,因为其他几个人都有 similar他们通过设置 content-disposition header 解决了这个问题。

使用 s3 和 getSignedUrl ,我认为这可以通过在 params 参数中设置 ReponseContentDisposition 属性来完成。具体的修复方法是在内容配置中正确引用文件名,或者将文件名设置为根本不包含逗号的其他名称。

但是,这个计划对我不起作用。有人对我可能出错的细节有任何想法吗?

我的服务器是 Node.js。这是执行重定向的 js(就像我说的,通常效果很好)

function tempRedirect(req, res) {
var filename = req.params[0];
var params = {
Bucket: S3_BUCKET,
ResponseContentDisposition: 'inline; filename=' + filename.replace(/,/, '_'),
Key: checkTrailingSlash(getFileKeyDir(req)) + filename
};
var s3 = new aws.S3(s3Options);
s3.getSignedUrl('getObject', params, function(err, url) {
res.redirect(url);
});
};

最佳答案

关于javascript - S3 下载文件名中带有逗号的图像会导致 "net::ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38320996/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com