gpt4 book ai didi

node.js - Node js s3fs 图片上传到 aws amazon s3 服务器并设置 ContentType

转载 作者:搜寻专家 更新时间:2023-10-31 23:53:11 24 4
gpt4 key购买 nike

下面是我的 Node javascript 代码,用于使用 s3fs 库将图像上传到 Amazon S3。图片已正确上传,但当我尝试在浏览器中查看该图片时,出现了下面提到的错误。

我检查了 Content-Type,它默认保存为 octet-stream。如果我手动将其设置为 image/jpeg 则该图像可以在浏览器中查看。谁能告诉我如何在仅上传或上传完成后设置内容类型?

我尝试设置 Content-Type 但它不适用于 S3fs 图片上传。

错误代码:-

<Error>
<Code>NoSuchKey</Code>
<Message>The specified key does not exist.</Message>
</Error>

我的实际代码:-

    var AWS= require('aws-sdk');

var fs = require('fs');

var S3FS = require('s3fs');

var s3fsImpl = new S3FS('bbqmobileimages/images/banners',{
accessKeyId:'A********A',
secretAccessKey:'****************'
});

var multiparty = require('connect-multiparty'),
multipartyMiddleware = multiparty();

router.use(multipartyMiddleware);

router.post('/api/v1/backoffice/upload/image',function(req,res){

console.log(JSON.stringify(req.files));
var file = req.files;
console.log("file",JSON.stringify(file))
console.log("original name:- "+file.fileUpload.originalFilename);
console.log("Path:- ",file.fileUpload.path);
var stream = fs.createReadStream(file.fileUpload.path);
return s3fsImpl.writeFile(file.fileUpload.originalFilename, stream).then(function(){
fs.unlink(file.fileUpload.path, function(err){
console.error(err);
})
console.log("Sucessfully uploaded to Amazon S3 server");
});
});

最佳答案

尝试

s3fsImpl.writeFile(file.fileUpload.originalFilename, stream, {"ContentType":"image/jpg"})

在这里找到:https://github.com/RiptideElements/s3fs/issues/45

关于node.js - Node js s3fs 图片上传到 aws amazon s3 服务器并设置 ContentType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34618528/

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