0
目前,我从我的云存储存储桶中下载图像,使用base64对其进行编码,然后在src
标记的src
属性中将数据传递给数据URI。如何在浏览器中显示从云存储下载的图像?
有没有其他方法可以做到这一点?
router.post('/images', function(req, res, next) {
var image = bucket.file(req.body.image);
image.download(function(err, contents) {
if (err) {
console.log(err);
} else {
var resultImage = base64_encode(contents);
var index = req.body.index;
var returnObject = {
image: resultImage,
index: index
}
res.send(returnObject);
}
});
});
不幸的是,这些是我不想用于安全原因的2个选项。任何人都可以击中这些网址,让我的后端弯曲膝盖。 – TheProgrammer
您能否澄清您对签名网址的担忧?在服务器端生成签名的URL会产生成本,但除非您需要每秒生成数千个URL,否则即使是非常小的机器也应该可以管理它。 –
@BrandonYarbrough这是关于安全。任何人都可以从我的网站上合法地获得一个签名的网址,然后用bot或僵尸网络数百万次开始点击该网址。然后在当前帐户到期时获得另一个签名的URL,等等。这就是我目前从我的服务器上的存储桶中下载图像的原因。除我的服务器外,没有人可以访问我的存储桶。唯一的问题是,加载64位编码图像有点慢,所以我想知道是否还有其他更好的解决方案也是安全的。 – TheProgrammer