我将图像存储在s3存储桶中,这些是私人照片。
目前,我可以通过以下方式获取图片网址:
getSignedUrl('getObject', params, callback);
然后,我将URL嵌入到图像src=''
字符串(express,pug)中。但是,我收到无效的请求错误并且没有图像。如何正确获取图片网址并将其嵌入html中?
index.js
app.get('/', (req, res) => {
s3.getSignedUrl('getObject', {
Bucket: Bucket,
Key: Key
}, (err, url) => {
res.render('index', {
img: url
})
})
})
index.pug
html
head
title example
body
img(src="" + img)
我正在学习AWS开发工具包。
如何从Node.js将s3图片网址嵌入img src?
答案 0 :(得分:0)
我想出了一个解决方案。而不是尝试将实际的url嵌入到s3存储桶中,并将对象嵌入到pug渲染中。我有一个单独的图像获取,返回字节流本身:
app.get('/img.jpg', (req, res) => {
s3.getObject({...}, (err, data) => {
...
res.send(data.Body)
})
})