zoukankan      html  css  js  c++  java
  • mysql存储图片方式小结

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

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

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

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

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

      我自己分析了一下,感觉这两种应该适用在不同场合,第一种存放带域名图片地址,这个也是有存在的必要,比如你有一台单独的文件服务器,这个时候你就需要带上域名去存放图片路径,而且在系统迁移的时候也不用迁移图片,更不需要修改数据库;第二种是不存放域名,这时候适合没有文件服务器的系统的小型系统,迁移系统便捷,图片直接跟着打包就好了,数据库不需要改动;

  • 相关阅读:
    97.5%准确率的深度学习中文分词(字嵌入+Bi-LSTM+CRF)
    TensorFlow教程——Bi-LSTM+CRF进行序列标注(代码浅析)
    对Attention is all you need 的理解
    SpringBoot入门最详细教程
    TensorFlow saved_model 模块
    hadoop无法启动
    信号
    rpcserver不可用
    4444: [Scoi2015]国旗计划|贪心|倍增
    最小公倍数 SRM 661 Div1 250: MissingLCM
  • 原文地址:https://www.cnblogs.com/zqphp/p/4819346.html
Copyright © 2011-2022 走看看