坑好大,数据库中保存图片路径带域名的坑
老项目,使用某平台的「对象存储」
数据库上传图片后,拼接 CDN 加速域名保存到数据库,
直接使用的默认加速域名,如:http://xxx.file.myqcloud.com/image/xxx.png
对象存储最新调整:必须使用自定义加速域名,
数据库里的咋弄
这很简单啊。
方法一:写sql把数据库的历史值给批量替换了。
方法二:代码配置里写好域名映射关系,所有图片字段输出使用一个函数处理(我们项目就是用这种)
sql
替换;如果是单列存储的path
,建议将域名替换为空,然后代码统一输出带域名路径(切换更容易)模型 get if判断 域名如果带有旧的 就替换为新的即可 都不用其他的额外操作
大家的方案都很好。。在程序里进行替换;
不建议对数据库的现有url进行操作。
华为云政务云对象存储,不支持自定义域名,是很蛋疼的。这种问题只能批量改库,如果在输出端替换字符串,那实在是太多地方要改了