您的位置:首页 > 数据库 > MySQL

mysql存储图片方式小结

2015-09-18 15:30 716 查看
  之前遇到一个问题,就是在将项目迁移到别的服务器的时候出现图片路径不对的问题,因为存放图片的方式是在数据库中存放图片路径,但是路径前却带了域名,这样换一台服务器换了域名之后,访问图片的路径还迁移前的服务器路径;

  解决办法也比较简单, 但是觉得有必要总结一下存储图片的方式,一个系统肯定会图片,所以也是必须注意的。

  数据库存放图片一般就两种方式,一是将图片转成二进制数据流存入数据库,二是将图片上传至服务器,数据库只存放图片的路径;

  两种方式第一种我没用过,可以简单分析一下就能知道,图片一般属于大文件,一张图片有可能几百k甚至几M,这个时候将二进制数据存入数据库,再调用数据库内容的时候对数据库负担是很大的,如果图片很多,这种方式显然不适用;

  现在重点说说第二种方式,存放图片路径,但是在存放图片路径也有两种方式,一种是存放图片绝对地址,即不带域名,还有一种是存放相对地址,图片存在服务器某个文件夹下,访问的时候/文件夹名称/图片,看到很多说法,关于这两种方式的利弊,大体是说只存放相对路径就行了, 不要带域名,因为带域名有一个明显的问题, 就是在系统迁移的时候不仅图片要打包迁移,数据库中所有带域名的图片地址全部都得更新;而相对路径存放图片就不用担心这个问题;

  我自己分析了一下,感觉这两种应该适用在不同场合,第一种存放带域名图片地址,这个也是有存在的必要,比如你有一台单独的文件服务器,这个时候你就需要带上域名去存放图片路径,而且在系统迁移的时候也不用迁移图片,更不需要修改数据库;第二种是不存放域名,这时候适合没有文件服务器的系统的小型系统,迁移系统便捷,图片直接跟着打包就好了,数据库不需要改动;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: