【发布时间】:2015-05-26 10:22:46
【问题描述】:
我正在做一个小项目,我可以将数据上传到 mongo 数据库,但到目前为止我无法将图像保存到同一个数据库,我的一个朋友建议我发送对数据库的引用,但在这个阶段我还没有弄清楚如何做到这一点,任何帮助将不胜感激。
【问题讨论】:
标签: node.js mongodb express pug
我正在做一个小项目,我可以将数据上传到 mongo 数据库,但到目前为止我无法将图像保存到同一个数据库,我的一个朋友建议我发送对数据库的引用,但在这个阶段我还没有弄清楚如何做到这一点,任何帮助将不胜感激。
【问题讨论】:
标签: node.js mongodb express pug
您可以使用来自Turistforeningen 的node-s3-uploader 库或构建类似的东西,如果您想保存在本地磁盘上。后面的工作是获取您收到的图像文件,将其转换为多个版本以优化带宽,您在 MongoDB 或 MySQL 上保留对原始版本的引用。
当客户端请求图片时,将原始链接发送给他们,根据他们需要的情况,客户端将推断原始链接以重新缩放链接。
【讨论】:
像图片这样的资产不应该直接保存到数据库系统,而是保存到服务器的本地磁盘,你只需将该图片的链接保存到数据库。
像mongodb或mysql这样的数据库系统应该保存将被查询的东西,这就是我们使用数据库系统的原因。二进制文件或图像之类的东西应该只保存到本地磁盘,因为这些文件的内容不可读,也无法查询。但是这些文件的名字、路径或者URL是可以查询的,所以我们一般都是把这些东西保存到数据库系统中。
【讨论】:
/home/user/app/ 并且您的 主机名 是 mywebsite。然后如果用户上传图片给你,那么你可以按照以下步骤操作:1.获取用户上传的数据并将其保存到/home/user/app/image.png 2.将字符串'mywebsite/image.png`保存到mongodb 3.当你想要要向用户显示 png,只需查询 mongodb,您将获得 URL,然后编写带有 href 值的 img 标记 mywebsite/image.png