如何使用 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 在浏览器中返回无效的主机标头

在方法中发送 userID 或发送 Token

React脚手架如何适配移动端将px转rem

使用 SQL Server 后端将图片插入到 Access 表中

在 React 中使用登录和注销的用户渲染组件

React Native Image Fetch / Upload