坑好大,数据库中保存图片路径带域名的坑

老项目,使用某平台的「对象存储」

数据库上传图片后,拼接 CDN 加速域名保存到数据库,

直接使用的默认加速域名,如:http://xxx.file.myqcloud.com/image/xxx.png

对象存储最新调整:必须使用自定义加速域名

数据库里的咋弄
:sob: :sob:

welcome come back
讨论数量: 17

这很简单啊。
方法一:写sql把数据库的历史值给批量替换了。

方法二:代码配置里写好域名映射关系,所有图片字段输出使用一个函数处理(我们项目就是用这种)

file

file

1个月前 评论
php_yt (楼主) 1个月前
忆往昔弹指间 (作者) 1个月前
  1. 对象存储从一开始就不能用自带域名,万一要搬家呢,也傻了...
  2. 数据库存储内容:如果是富文本,用 sql 替换;如果是单列存储的 path,建议将域名替换为空,然后代码统一输出带域名路径(切换更容易)
1个月前 评论
php_yt (楼主) 1个月前
chowjiawei

模型 get if判断 域名如果带有旧的 就替换为新的即可 都不用其他的额外操作

1个月前 评论
php_yt (楼主) 1个月前
你看我吊吗啊

大家的方案都很好。。在程序里进行替换;
不建议对数据库的现有url进行操作。

1个月前 评论
php_yt (楼主) 1个月前
你看我吊吗啊 (作者) 1个月前
php_yt (楼主) 1个月前

华为云政务云对象存储,不支持自定义域名,是很蛋疼的。这种问题只能批量改库,如果在输出端替换字符串,那实在是太多地方要改了

1个月前 评论
php_yt (楼主) 1个月前
没有哆啦A梦的大雄 1个月前
linzening (作者) 1个月前

这种最简单的办法就是输出的时候在修改

1个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!