目前我在我自己的Node-Express服务器上存储了很多静态图像文件,并通过相对URL(例如<img src="/img/foo/bar.png">
)在整个代码中访问它们。我正在将所有图像移动到Amazon S3,所以现在这个url必须是https://myimagebucket.s3.amazonaws.com/img/foo/bar.png
。但是,更改每个图像引用以包含此绝对URL将是一场噩梦,因此我设置了一些Express中间件,可以重定向任何图像请求,如下所示:
app.use('/img', function(req, res, next) {
res.redirect('https://myimagebucket.s3.amazonaws.com' + req.originalUrl);
});
性能方面,这是一个好主意,还是否定了在其他地方托管图像的好处?
或者最佳做法是在视图中指定主机,这意味着我应该采用手动更改所有图像引用的漫长路线?