如何在Rails中将文件从浏览器直接上传到Google Cloud

时间:2013-07-17 12:49:02

标签: ruby-on-rails google-cloud-storage

我有一个允许用户上传文件的Rails应用程序。他们目前(通过POST)上传到服务器,服务器然后使用fog gem将其上传到Google云端存储。这样做的问题是,每个知道URL的人都可以使用文件,我想阻止这些文件。

所以现在我有两个问题需要解决:

  • 我想让用户直接从浏览器上传到Google
  • 我想阻止所有人下载文件,但阻止用户登录我的应用

我已经下载了Google API生成的p12文件,但现在我被卡住了。根据{{​​3}}我需要生成密钥(使用google-api-client gem完成)和签名(未完成),然后如果我理解正确的话,将它们放入POST头文件中?

有没有人有我可以使用的例子?

编辑:完成它,秘密在互操作存储访问密钥 SHA1 ,谷歌文档没有说。我很快就会在博客文章中介绍该解决方案。

1 个答案:

答案 0 :(得分:1)

以下是generating signed URLs in Python的示例。 Ruby中的细节会有所不同,但过程是一样的。