如何使用 Ruby 作为后端将 React 上的图像上传到 Google Cloud Storage
Posted
技术标签:
【中文标题】如何使用 Ruby 作为后端将 React 上的图像上传到 Google Cloud Storage【英文标题】:How to upload images on React to Google Cloud Storage with Ruby as backend 【发布时间】:2019-04-12 02:21:36 【问题描述】:我正在尝试使用 Ruby 作为后端将图像从 ReactJS 上传到 Google Cloud Storage。我试图通过我用 Rails 制作的 API 发送这些图像,然后通过称为“google-cloud-storage”的 gem 将它们直接上传到 Google Cloud Storage。然后通过 API 回调这些图像并显示在我的前端 ReactJS 上。
这样做似乎有很多问题,其中之一是尝试通过 API 发送图像时出现 CORS 问题。
对于如何实现将图像从 ReactJS 上传到 Ruby,然后到 Google Cloud Storage,然后能够调用它们并在 ReactJS 上显示,是否有人有任何建议或解决方案?
【问题讨论】:
不要给自己接线(除非你能从中获益):现有的解决方案已经存在。试试 Shrine gem:github.com/shrinerb/shrine 或 ActiveStorage 解决方案:edgeguides.rubyonrails.org/active_storage_overview.html。我也非常肯定 React 中会有库,这将使它们的合并更加容易。 【参考方案1】:在代码之前使用 Ruby 将文件上传到 Cloud Storage 您必须准备存储桶。
-
创建存款:
gsutil mb gs : // [您的 - 存储桶 - 名称]
2.设置存款的默认ACL为public-read。这将允许用户查看 他们上传的图片: gsutil defacl set public - 读取 gs : // [您的 - 存储桶 - 名称]
3.安装依赖。
4.实现代码。
您可以按照如何使用云存储与 Ruby[1] 链接中提到的步骤进行操作。
[1]https://cloud.google.com/ruby/getting-started/using-cloud-storage
【讨论】:
以上是关于如何使用 Ruby 作为后端将 React 上的图像上传到 Google Cloud Storage的主要内容,如果未能解决你的问题,请参考以下文章
使用 express 后端将 create-react-app 部署到 heroku 在浏览器中返回无效的主机标头