网站如何来存储图片? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容 #Wrapper { background-color: #e2e2e2; background-image: url("/static/img/shadow_light.png"), url("//cdn.v2ex.com/assets/bgs/circuit.png"); background-repeat: repeat-x, repeat-x; } #Wrapper.Night { background-color: #1f2e3d; background-image: url("/static/img/shadow.png"), url("//cdn.v2ex.com/assets/bgs/circuit_night.png"); background-repeat: repeat-x, repeat-x; background-size: 20px 20px, 162.5px 162.5px; }
shinerene
V2EX    程序员

网站如何来存储图片?

  •  
  •   shinerene
    Xiechen 2013-06-28 22:58:52 +08:00 6625 次点击
    这是一个创建于 4495 天前的主题,其中的信息可能已经有所发展或是发生改变。
    帮同学做一个网站 来展示他平时做的ps的图

    用的是Flask来写的

    然后 问题来了 就是如何存储那些图片?是转换成二进制 储存进数据库 还是 直接储存在网站的文件夹中?
    我是菜鸟 初学者
    请问各位大大 有没有什么建议 和帮助?
    谢谢了!
    37 条回复    1970-01-01 08:00:00 +08:00
    swulling
        1
    swulling  
       2013-06-28 23:08:02 +08:00
    看图片的量,从你的描述看(展示个人的ps作品),存成文件就最简单了
    shinerene
        2
    shinerene  
    OP
       2013-06-28 23:44:45 +08:00
    @swulling 就是存成文件 在网站的文件夹中 然后每次从网站中一个个读?
    qiayue
        3
    qiayue  
    PRO
       2013-06-28 23:55:50 +08:00
    <img src="这里写图片路径" />
    zhttty
        4
    zhttty  
       2013-06-28 23:59:23 +08:00   4
    比较好的方法是这样的,存到文件,路径放到数据库生成索引,然后显示的页面缓存成静态的,然后将缓存和图片的印象都放到内存里,再写个算法动态清理不常访问的图片印象...
    shinerene
        5
    shinerene  
    OP
       2013-06-29 09:13:33 +08:00
    @zhttty 看来大家的注意 都是比较推荐存到文件 再读取啊
    julyclyde
        6
    julyclyde  
       2013-06-29 10:12:17 +08:00
    因为关系型数据库是保存“关系”的,而不是用来保存大量无意义的实体数据的
    alexezit
        7
    alexrezit  
       2013-06-29 10:21:13 +08:00
    CDN?
    kingxsp
        8
    kingxsp  
       2013-06-29 10:22:50 +08:00
    这个需求直接文件夹方式最好了。
    julyclyde
        9
    julyclyde  
       2013-06-29 10:23:20 +08:00
    @alexrezit CDN不是存储机制
    shinerene
        10
    shinerene  
    OP
       2013-06-29 10:32:02 +08:00
    @kingxsp 恩 打算建文件夹 来保存了
    ushuz
        11
    ushuz  
       2013-06-29 10:40:15 +08:00
    外链。
    不特别在意速度的可以放到skydrive。
    或者“微博是个好图床”,又拍云什么的。
    zhttty
        12
    zhttty  
       2013-06-29 11:13:13 +08:00
    @shinerene

    不过如果要求安全级别高,就数据库存。
    kchum
        13
    kchum  
       2013-06-29 12:18:55 +08:00
    少的话,可以考虑数据库,多的话。。还是文件把。。。
    kchum
        14
    kchum  
       2013-06-29 12:20:07 +08:00
    一般都是文件存。。
    msg7086
        15
    msg7086  
       2013-06-29 12:20:42 +08:00
    @zhttty 安全要求高可以用x-sendfile接在动态网页上。
    shinerene
        16
    shinerene  
    OP
       2013-06-29 12:22:04 +08:00
    @zhttty
    恩 安全级别 不高 先文件存着
    ccbikai
        17
    ccbikai  
    PRO
       2013-06-29 13:29:52 +08:00 via iPhone
    又拍云 七牛云
    Lucius
        18
    Lucius  
       2013-06-29 13:30:38 +08:00
    阿里云OSS
    itfanr
        19
    itfanr  
       2013-06-30 22:43:56 +08:00
    @zhttty “然后将缓存和图片的印象都放到内存里,再写个算法动态清理不常访问的图片印象...” 不懂……
    julyclyde
        20
    julyclyde  
       2013-07-01 11:17:29 +08:00
    @itfanr 就是自己做个数据库
    benmao
        21
    benmao  
       2013-07-01 13:18:04 +08:00
    阿里云的就不错。
    no13bus
        22
    no13bus  
       2013-07-02 20:24:42 +08:00
    @zhttty “然后将缓存和图片的印象都放到内存里,再写个算法动态清理不常访问的图片印象...” 印象?映像?这句话不太懂
    wubo19842008
        23
    wubo19842008  
       2013-07-02 20:37:25 +08:00
    找一些在线的云存储
    2dian718
        24
    2dian718  
       2013-07-02 21:04:42 +08:00
    个人的,应该量不大,个人空间足够的话,放在上面就好了(当然还要考虑流量的问题)。数据库里面存储相应的路径就ok了。

    如果流量和空间都不够的话,考虑下云存储(没弄过)。
    2dian718
        25
    2dian718  
       2013-07-02 21:09:58 +08:00
    这个东西不建议自己做,建议找写现成的包,库之类的。

    当然自己做也没什么不好,比如1,想学习,2,有高需修。

    还有,网站有个维护的问题,自己写的,难免出现问题,你写的东西多了,出问题,再维护,就比较麻烦,所以不建议自己写。
    zhttty
        26
    zhttty  
       2013-07-02 21:53:24 +08:00   1
    @itfanr
    @no13bus

    很简单啊,你写个缓存方法,就譬如将页面的内容写到文件,然后将文件存到内存虚拟硬盘里边,再写个方法动态的计算次数,一定的触发机制删除最少访问的缓存文件就可以了;

    至于挂内存可以这样 mount tmpfs /var/www/html/cache -t tmpfs -o size=8192m
    likuku
        27
    likuku  
       2013-07-02 22:12:57 +08:00
    又拍云。

    内存...唉...那是 squid+tmpfs 时代的作法。

    有了 varnish,谁还用这种...要玩缓存,就上varnish。指定磁盘存储路径,这东西就自动将内存+磁盘空间统一管理,访问频繁的就自动尽可能放内存里,访问不多的就存硬盘,这些都自动调节。

    注:在web缓存领域,squid vs varnish 就类似 apache vs nginx
    likuku
        28
    likuku  
       2013-07-02 22:14:27 +08:00
    「很简单啊,你写个缓存方法,就譬如将页面的内容写到文件,然后将文件存到内存虚拟硬盘里边,再写个方法动态的计算次数,一定的触发机制删除最少访问的缓存文件就可以了;」

    varnish 就是完美解决这种需求的产品,效能非常高。
    likuku
        29
    likuku  
       2013-07-02 22:16:46 +08:00
    @shinerene 你主要存PS图,那么建议PS图生成jpg的比较小的预览图(1024*800,或者 800*600),预览页面提供真正PS文件的下载链接即可,PS可zip/gzip压缩后保存存在磁盘。
    shinerene
        30
    shinerene  
    OP
       2013-07-03 09:28:50 +08:00
    @likuku 恩 已经用了又拍云了 觉得很好用啊!
    shinerene
        31
    shinerene  
    OP
       2013-07-03 09:29:26 +08:00
    @2dian718 用了又拍云了~很方便的诶
    jjplay
        33
    jjplay  
       2013-07-03 10:17:17 +08:00
    简单复杂化,何必呢
    loading
        34
    loading  
       2013-07-03 11:09:33 +08:00 via iPhone
    存文件,nginx静态文件的效率您还不满意么?
    likuku
        35
    likuku  
       2013-07-03 13:31:27 +08:00
    @shinerene 嗯,存储能外包出去最好了...这种需求自己搞的话,越往后越难伺候。
    shinerene
        36
    shinerene  
    OP
       2013-07-03 14:13:15 +08:00
    @likuku 可是今天遇到了问题 就是 缩略图模板 用了之后 产生了 缩略图 之后 我对缩略图模板进行了 修改 然后 刷新出来的还是之前的缩略图
    sunkibin
        37
    sunkibin  
       2013-08-02 16:11:37 +08:00
    果断七牛云存储(www.qiniu.com),每个月有免费的10G的流量,更重要的是上传速度很快,你那么多图片上传得很长时间哦。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2633 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 08:19 PVG 16:19 LAX 01:19 JFK 04:19
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86