图像上传是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。
感谢您的阅读,祝您玩得愉快!