我正在尝试从邮递员上传图像(base64),我可以看到当我按下Serverless API时,在S3存储桶中添加了一些东西,但没有图像,我使用的是nodejs Lambda函数,我尝试这样做许多解决方案,但没有奏效。请向我建议我错了:
awk ... file
请让我知道,我在哪里缺少一些代码。将不胜感激。
答案 0 :(得分:7)
将应在Web浏览器中打开的对象上载到S3时,需要设置正确的内容类型。当S3服务您的对象时,您设置的内容类型将作为HTTP标头发送。
Web浏览器使用MIME types确定如何处理URL,而不是文件扩展名。
对于您而言,您传递给s3.upload
的参数中缺少内容类型。而且,密钥不正确。
应该是:
const params = {
Bucket: 'bucket-name',
Key: fileFullName // must be a path within your bucket and not an url like you have in fileFullPath,
Body: buffer,
ContentType: fileMime.mime // Sets the content type header, without this your browser cannot infer the type (browsers use mime types, not file extensions)
};