sjmcefc2
V2EX  ›  数据库

求教 postgresql 如何存储 jpg 或者其他格式的图片?

  •  
  •   sjmcefc2 · Mar 31, 2019 · 3900 views
    This topic created in 2780 days ago, the information mentioned may be changed or developed.

    图片如何存储呢?如何显示呢

    18 replies  •  2019-04-07 10:16:52 +08:00
    forestLittleBear
    forestLittleBear
    Mar 31, 2019 via Android
    1
    数据库里面存图片路径。
    neoblackcap
    neoblackcap
    Mar 31, 2019❤️1
    2
    二进制文件放文件系统或者对象存储啊,数据库存对应的地址
    deepdark
    deepdark
    Mar 31, 2019 via Android
    3
    要么图片上传到图床,数据库保存地址。要么图片上传到服务端,生成静态资源地址,数据库保存。或者图片直接 base64 入库
    sjmcefc2
    sjmcefc2
    OP
    Mar 31, 2019
    4
    如果考虑到系统备份,那种最好呢? 1.图片路径方式,如果这样是不是我要保证两个都要正确,文件系统上的文件,数据库的路径? 2.base64 入库,是不是增大了无畏的数据库空间?
    msg7086
    msg7086
    Mar 31, 2019
    5
    直接二进制扔进去就好了,然后如果需要的话可以存个原始文件名之类的。
    lynskylate
    lynskylate
    Mar 31, 2019 via Android
    6
    文件系统仅在单机时可以使用,一旦需要多台机子就不行了。一般小文件推荐使用对象存储,如果用的云还能选择不同的版本提高下行速度。随便一个云,对象存储都很便宜,很多云还免费提供 10g 空间。
    zbinlin
    zbinlin
    Mar 31, 2019
    7
    @sjmcefc2
    1. 再加个字段保存路径的
    2. 直接存 bytea 类型就可以了,不需要 base64
    sjmcefc2
    sjmcefc2
    OP
    Mar 31, 2019
    8
    @zbinlin
    @lynskylate
    21k 的这种证件照是不是直接存储在数据库更好呢?读取的时候会不会麻烦些?
    forestLittleBear
    forestLittleBear
    Mar 31, 2019 via Android
    9
    @sjmcefc2 如果文件大小非常小并且数据量非常少的话可以考虑这种方式。
    直接把二进制流存进去即可,读取正常操作就可以。

    不过仍然不推荐直接入库。
    gamexg
    gamexg
    Mar 31, 2019 via Android
    10
    数据库是扩容最麻烦的,还是尽量减轻数据库压力为好。
    beginor
    beginor
    Mar 31, 2019 via Android
    11
    文件小的话可以直接二进制存数据库,文件大的话建议放硬盘
    jugelizi
    jugelizi
    Mar 31, 2019
    12
    哈哈 asp 时代的木马都是这样的 图片内容存数据库
    qianji201712
    qianji201712
    Mar 31, 2019 via Android
    13
    太可怕了,居然想着数据库存图片。。。。
    当然是放链接啊
    loading
    loading
    Mar 31, 2019 via Android
    14
    如果高并发,用静态文件吧。
    yaxianzhi
    yaxianzhi
    Mar 31, 2019
    15
    阿里云 oss,七牛云这些更方便,也不贵
    hyperbin
    hyperbin
    Mar 31, 2019 via Android
    16
    @deepdark 有 Bytea,large object 干嘛用 base64?
    likuku
    likuku
    Apr 3, 2019
    17
    多机存储也可以自己架 hadoop 机群,用它的 hdfs,只是这玩意想在线访问( web 服务) 得自己代码里通过它 API 来操作,并不是个裸 FS,虽然它自己也有提供一些工具可以像 rsync/scp 一样来读写 hdfs。

    没有对象存储云之前,本地用高性能 NAS 的 NFS 服务来提供给其它机器直接的 FS 操作。
    w2exwh
    w2exwh
    Apr 7, 2019 via iPhone
    18
    直接二进制入库的方式比较少吧 基本都是存放路径入库了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2579 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 69ms · UTC 11:01 · PVG 19:01 · LAX 03:01 · JFK 06:01
    ♥ Do have faith in what you're doing.