在 Heroku 数据库中存储图像的最简单方法?

2024-01-21

我们在 Heroku 上有一个 RoR 3.2 站点,使用他们的生产层 PostgreSQL 数据库。

我们的网站用户偶尔会上传 0.5 - 2MB 大小的图像。出于不同的原因,我们希望将这些图像存储在数据库中,而不是作为 S3 或类似文件上的文件。

如果我们的网站图像较多,即 Facebook 克隆,那么将图像存储在数据库中肯定不是一件好事。

无论如何,事实并非如此,因此以下是想要将用户图像存储在数据库中的一些原因:

  • 控制一切:S3 停机和第三方 gem 不能破坏图像处理/图像访问。
  • 轻松删除:如果用户取消了他的帐户,我们可以通过我们的rails模型(关系依赖)轻松删除与该帐户相关的所有图像。
  • 更轻松的用户数据导出:当用户想要离开我们的网站并带走他的数据时,我们可以更轻松地导出他的图像,而不必从 S3 导出
  • 成本:这不是一个重要的论点,但由于我们已经支付了数据库费用,因此它比使用 S3 便宜,而 S3 需要花费(少量)资金。
  • 备份:这不是一个重要的论点,但我们数据库的备份将包括与我们站点相关的所有内容(当然,RoR 代码除外)。

在 Heroku PostgreSQL 数据库中存储图像的最简单方法是什么?示例代码或演练链接将是最受欢迎的。

谢谢 :)


我鼓励您不要使用数据库来存储该大小的图像。

S3 可以非常有效地进行备份,并且极其坚硬 http://aws.amazon.com/s3/#protecting。从数据丢失的角度来看,它实际上比开发postgres数据库 https://postgres.heroku.com/blog/past/2012/4/26/heroku_postgres_development_plan/与 Heroku 一起计划。

在这个例子中,成本方面也不是真正的最佳实践。虽然你是对的,他们只强制执行行限制,但我认为在开发数据库计划中存储大图像(0.5 - 2mb)会让人皱眉。

最后,由于 Amazon 的内部网络,从 EC2(托管 Heroku 的地方)到 S3 的传输速度非常快。

知道了这一点,我敦促您重新考虑将这种大小的图像存储在数据库中的愿望。看这个问题 https://stackoverflow.com/questions/3748/storing-images-in-db-yea-or-nay对利弊进行更深入的分析。

还有一个开发中心文章 https://devcenter.heroku.com/articles/s3关于使用 S3 和 Heroku。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Heroku 数据库中存储图像的最简单方法? 的相关文章

  • 无法在heroku上推送node.js应用程序

    我尝试在heroku 上推送我的node js 应用程序 但是 无法检测到此应用程序的默认语言 我什至尝试过heroku buildpacks set heroku nodejs 但还是无法推动 Counting objects 31 do
  • 如何在heroku上设置django-compressor,离线压缩到S3

    我遵循了在 SO 和不同博客中找到的每一条 QA 建议 在我的开发机器上一切正常 但在 Heroku 上没有任何效果 这是我的设置 DEFAULT FILE STORAGE arena utils MediaRootS3BotoStorag
  • 如何使用requirements.txt 在 Heroku python Web 应用程序中安装 Dlib?

    我构建了一个涉及机器学习的 Python Flask Web API 但在 Heroku 上部署它时遇到了很多挫折 问题是 我的应用程序依赖于 Dlib 一个库 我似乎找不到在我的 Heroku 服务器中安装的方法 我正在试图解决这个问题
  • 在heroku上部署代码时出错

    我在 git hub 中有一个java脚本代码 上个月我在heroku上部署了很多次 没有出现任何问题 今天 当我想在heroku上部署完全相同的代码时 出现以下错误 The requested API endpoint was not f
  • “PG DuplicateTable:错误关系“产品”已存在”- Heroku db:迁移尝试

    Rails 菜鸟尝试将 DB 迁移到 Heroku 请原谅这个错误消息的多汁性 但我认为将其全部包含在内可能很重要 我不知道为什么会发生这种情况 也不知道这意味着什么 我的架构中只有一张产品表和一张创建产品迁移表 Migrating to
  • 如何从应用程序内识别 heroku dyno 编号?

    有没有办法从应用程序中识别 heroku dyno 名称 例如 web 1 web 2 我希望能够生成一个唯一的请求 ID 例如 跟踪网络和工作测功机之间的请求 以统一记录整个请求堆栈 在我看来 测功机标识符将是一个不错的起点 如果这不能做
  • Sentry 与 @sentry/webpack-plugin 和 heroku

    我正在使用 webpack 来构建我的应用程序 它可以在本地使用 sentry webpack plugin 它自动生成版本并将源映射上传到 Sentry 但是 如果我尝试在 Heroku 上构建相同的应用程序 则会出现以下错误 Error
  • Heroku:无法通过 Bundler 安装 gem

    我尝试使用以下命令将我的 Rails 应用程序推送到 Herokugit push heroku master f命令 我得到这个 Total 0 delta 0 reused 0 delta 0 remote Compressing so
  • 机架超时:关闭信息/活动日志记录

    随着机架超时 https github com heroku rack timeoutgem 安装后如何才能仅显示 ERROR 相关日志 例如 我想避免在我的日志中出现以下内容 source rack timeout id 8a11a8ac
  • 如何使 Rails 3 资源预编译速度更快?

    我有一个正在运行的 Rails 3 2 1 应用程序 我正在通过 Capistrano 进行部署deploy assets它运行deploy assets precompile task 一切工作都很好 除了编译本身非常慢 我没有那么多 C
  • Rails:CSRF 令牌不工作但已设置

    我在 Heroku 上有我的 Rails 3 应用程序 当我发送银行信息时 我得到 WARNING Can t verify CSRF token authenticity但我的 CSRF 令牌已设置 https gist github c
  • 如何从 Rails 中的 date_select 或 select_date 获取日期?

    Using select date给我回一个params my date with year month and day属性 如何轻松获取 Date 对象 我希望有类似的事情params my date to date 我很高兴使用date
  • 如何在连接到 Heroku PostgreSQL 的 Flask 应用程序上处理更多并发用户?

    Heroku 上的 Flask API 有许多端点 它们在将 json 化结果返回给客户端之前在我的 Heroku PostgreSQL 数据库上运行查询 我当前的计划是 Hobby Basic 层 因此数据库最多只能处理 20 个连接 如
  • Heroku 上的 Django 翻译无法完全正常工作

    我在 Heroku 上部署了 Django 应用程序 并添加了https github com piotras heroku buildpack gettext git此 ugettext 构建包和应用程序的某些部分已注释翻译 本地可以用
  • 在heroku上部署时出错,/bin/sh: 1: webpack: not found

    这是我在 heroku 网站上手动部署时遇到的错误 首先 我在 json 文件中遇到错误 因此我指定了正在运行的 npm yarn 和 node 版本 这些错误似乎已经清除 现在我就是这样的人 并且已经搜索了谷歌 但似乎找不到太多关于修复它
  • 与heroku配合使用的统计引擎

    我有一个 Heroku Rails 应用程序 需要处理一些重要的数字 并且我需要使用像 R 这样的统计库 更糟糕的是 MatLab 我正在寻找以下任何问题的答案 是否有不需要二进制文件的功能齐全的统计包 GEM 是否可以将 R 二进制文件作
  • 从使用heroku发送的邮件中删除“via sendgrid.me”

    我正在使用免费的 sendgrid 计划从 Heroku 上托管的 Rails 应用程序发送电子邮件 我使用以下组合进行设置这些说明 http devcenter heroku com articles sendgrid and 本教程 h
  • 将表列添加到 Group by 子句 - Ruby on Rails - Postgresql

    我正在尝试使用 Heroku 显然 Postgresql 对于聚合函数来说比 SQL 严格得多 当我推送到 Heroku 时 我收到一条错误消息 内容如下 关于另一个问题 https stackoverflow com questions
  • 如何在 Heroku 中安装 NLTK 模块

    嘿 我想在我的 Heroku 服务器上安装 NLTK pos tag 我该怎么办呢 请给我一些步骤 因为我是 Heroku 服务器系统的新手 我刚刚添加了官方nltk支持构建包 只需添加一个nltk txt文件包含要安装的语料库列表 一切都
  • 回形针:从带扩展名的 url 上传

    我想通过 S3 存储上的回形针从 URL 上传图片 我与 Ruby 1 9 3 Rails 3 2 6 paperclip 3 1 3 aws sdk 1 3 9 我有我的图片模型 class Asset has attached file

随机推荐