Rails HowTo –使用Active Storage和Google Cloud Storage上传图像

图像上传是Web开发中的一个困难主题。 我们将通过5个简单的步骤使用Rails内置工具Active Storage进行图像上传。

1.安装活动存储

  rails active_storage:安装 

该命令将此迁移从gem复制到您的项目中:

2.将图像添加到视图,模型和控制器参数。

现在,您可以将图像上传到本地环境。

3.添加云提供商的配置

我将使用Google Cloud Storage服务,但您也可以使用Amazon S3或Microsoft Azure存储服务。

config/storage.yml声明一个Google Cloud Storage服务:

google-cloud-storage gem添加到您的Gemfile

  gem “ google-cloud-storage”“〜> 1.11” ,要求:false 

4.创建一个GCE密钥文件

登录到您的Google Cloud Platform帐户,然后转到您的控制台(URL类似于https://console.cloud.google.com/home/dashboard)。

您需要创建一个新项目,然后在项目内部创建一个存储桶。 记录两者的名称,以便您可以像在storage.yml文件中一样添加它们。

下一步是创建密钥文件。

  • 在GCP控制台中打开“ IAM和管理”页面。
  • 选择您的项目,然后单击继续
  • 在左侧导航栏中,点击服务帐户
  • 查找要为其创建密钥的服务帐户,单击该行中的“ 更多”按钮,然后单击“ 创建密钥”
  • 选择一种密钥类型 ,然后单击创建

下载JSON密钥文件,并使用正确名称(gce.json)将其移动到config目录中。

搜索以下行(config.active_storage.service =:local),然后在您的environment / production.rb文件中将其替换为:

  config.active_storage.service =:google 

5.部署并测试!

就这样! 如果一切设置正确,则可以使用Rails应用程序将图像上传到Google Cloud Servers。

感谢您的阅读,祝您玩得愉快!