Node.js 存储在s3中的我的对象在访问url时自动下载
当我将文件上传到s3时,我会公开上传,但当通过URL访问文件时,文件会自动下载,我想要实现的是能够在任何浏览器中查看文件,而无需下载。 我通过node.js上传它,我附加代码Node.js 存储在s3中的我的对象在访问url时自动下载,node.js,amazon-web-services,amazon-s3,Node.js,Amazon Web Services,Amazon S3,当我将文件上传到s3时,我会公开上传,但当通过URL访问文件时,文件会自动下载,我想要实现的是能够在任何浏览器中查看文件,而无需下载。 我通过node.js上传它,我附加代码 fs.readFile(dataString, (err, data) => { if (err) throw err; var parametrosPutObject = { Bucket: bucket, Key: dataString, Body: data, }; s3
fs.readFile(dataString, (err, data) => {
if (err) throw err;
var parametrosPutObject = {
Bucket: bucket,
Key: dataString,
Body: data,
};
s3.putObject(parametrosPutObject, (err, data) => {
if (err) throw err;
console.log("recorded file");
//obtenerURL();
});
});
您需要为浏览器解释为可在浏览器中查看的文件提供
内容类型
标题
如果对象是例如JPEG文件,则提供
内容类型:image/JPEG
应提示浏览器不需要下载该文件。hi,文件为.pdf,在chrome中自动下载,在firefox中不下载。我应该将内容类型与上载一起添加吗?是的,添加类似标题:{'content-type':'application/pdf'}
到您的参数sputObject
应该可以做到这一点。我阅读了文档并添加了ContentType:“application/pdf”,但他们会继续自动下载,这可能取决于您的浏览器设置。如果浏览器设置为“始终下载pdf”,则无法覆盖该选项。@enzopezContentType:“application/pdf”
将不起作用,因为这是错误的。正确的值是不带空格的'application/pdf'
。