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

2014-12-09 09:51:48 +08:00
 ltyhpynyh
在百度上做过粗略的研究,得知是存图片和音频的地址比较方便且数据库增长不会太快。然而百度上的资料细节不够明显,这里希望求助各位V2exer:

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

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

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

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

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

推荐的是存储相对路径/URL,因为文件存储的位置或 URL 是可能发生变化的(将其作为变量/配置信息)。
ltyhpynyh
2014-12-09 12:36:10 +08:00
谢谢
@alore
@qiayue
@learnshare
通过你们的解释我们找到了办法,准备开始着手实现

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/152519

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX