Express服务器下如何让HTML img标签正确加载符号链接图片?
解决Express静态服务无法加载符号链接图片的问题
Express默认的express.static中间件出于安全考量,不会自动跟随符号链接,这就是你访问符号链接图片时无法显示的原因。只需开启对应的配置项就能解决:
修改静态服务配置
在设置express.static时,添加followSymlinks: true选项:
原来的配置可能是这样:
app.use('/public', express.static(__dirname + '/public'));
修改为:
app.use('/public', express.static(__dirname + '/public', { followSymlinks: true }));
额外注意事项
- 确保符号链接的目标文件有正确的读取权限,Express运行进程需要能访问到目标图片文件。
- 创建符号链接时尽量使用绝对路径,避免相对路径导致的解析错误,比如用
ln -s /absolute/path/to/1.jpg /public/1-symlinked.jpg而不是相对路径创建。
内容的提问来源于stack exchange,提问作者Johnson
相关产品推荐
相关产品推荐

