V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
ltyhpynyh
V2EX  ›  问与答

菜鸟求问数据库图片和音频储存方法

  •  
  •   ltyhpynyh · 2014-12-09 09:51:48 +08:00 · 5113 次点击
    这是一个创建于 3621 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在百度上做过粗略的研究,得知是存图片和音频的地址比较方便且数据库增长不会太快。然而百度上的资料细节不够明显,这里希望求助各位V2exer:

    1.图片音频存放的地址是指网络地址还是数据库当地的实际地址?

    2.如果是网络地址,希望大家推荐一个合适的储存图片音频的网站。

    3.在管理者上传一条新的储存的时候,如何生成相应的网络地址存储在数据库之中?

    谢谢大家了,虽然感觉应该是比较简单的东西,但由于是初学,许多知识都处于摸索以及理论的阶段,希望大家能不吝赐教。
    6 条回复    2014-12-09 12:36:10 +08:00
    mhycy
        1
    mhycy  
       2014-12-09 10:53:02 +08:00   ❤️ 1
    这是作为系统架构者必须考虑的问题,并没有一个合适的答案.
    一般,以应用方便存取的路径为宜...
    ltyhpynyh
        2
    ltyhpynyh  
    OP
       2014-12-09 11:18:12 +08:00
    @mhycy 谢谢回复,这其实只是我们课程设计项目的一部分,苦于没有这方面知识存储和经验所以纠结应该如何实现。我们准备做一个博物馆相关的APP,经讨论认为要方便应用存取,一个方法是载到本地,但是如果把一系列展品的图片,音频介绍之类的都载到本地,觉得APP会因此变得过大。
    而如果采用服务器以string形式将网络地址(如展品的图片的地址)反馈给客户端。当博物馆管理人员上传一条新的展品信息的时候,音频和展品应该存放在哪里才是比较标准的做法?
    alore
        3
    alore  
       2014-12-09 11:26:59 +08:00   ❤️ 1
    一般项目的做法:
    1、音视频都应该存放在自己的服务器上。管理人员上传成功之后,程序获取服务器上存放音视频的路径并存放到数据表中。
    2、音视频的缩略图,在上传成功后生成,存放规则和音视频类似,可以定期主动推送到客户端,以便客户端预加载。当然为省事,在请求的时候再返回也是可以的。这些要视你项目的需求而定。
    qiayue
        4
    qiayue  
       2014-12-09 11:34:27 +08:00   ❤️ 1
    你可以使用七牛云存储的服务存储图片或者文件。
    两种方式,一种是上传到你自己的服务器,假设是根目录下的 image 文件夹,上传之后的文件路径是 /image/45dfs56df2d3f2.jpg ,你申请的七牛的二级域名是 xxxx.qiniudn.com ,那么图片的访问地址就是 http://xxxx.qiniudn.com/image/45dfs56df2d3f2.jpg
    一种是直接上传到七牛,一步到位,这个需要去看七牛提供的文档如何上传,上传完成之后七牛会告诉你访问地址是什么。
    存储的话,你可以在图片路径字段存 "image/45dfs56df2d3f2.jpg" (或者"45dfs56df2d3f2.jpg""),用的时候再拼接上 "http://xxxx.qiniudn.com/"
    learnshare
        5
    learnshare  
       2014-12-09 11:44:44 +08:00   ❤️ 1
    音视频和图片等文件类型的数据是不建议直接作为数据存储到数据库中的,因为体积大,存取都比较慢。通常是保存一个路径或 URL 地址到数据库中。

    如果你的文件存到服务器硬盘中,可以在数据库中存储绝对路径(D:/files/abc.mp3)或相对路径(music/abc.mp3);如果你的文件存储到其他服务器/云存储服务中,可以在数据库存储绝对 URL(http://1.2.3.4/files/abc.mp3)或者相对 URL(music/abc.mp3)。

    推荐的是存储相对路径/URL,因为文件存储的位置或 URL 是可能发生变化的(将其作为变量/配置信息)。
    ltyhpynyh
        6
    ltyhpynyh  
    OP
       2014-12-09 12:36:10 +08:00
    谢谢
    @alore
    @qiayue
    @learnshare
    通过你们的解释我们找到了办法,准备开始着手实现
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1076 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 19:11 · PVG 03:11 · LAX 11:11 · JFK 14:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.