我正在构建一个需要让用户上传大文件的web应用程序。我想使用Google云端存储。我花了几天的时间阅读文档,但我仍然不确定如何从浏览器实际启动上传。使用签名的URL将图书馆上传到Google Cloud Storage?
我知道为此目的需要签名的URL(允许匿名用户上传到存储区),我可以在服务器上生成这个URL并发送给浏览器。
但是,JavaScript Client Library似乎只能在具有身份验证作为用户或服务帐户的应用程序服务器上运行。例如,@google-cloud/storage软件包有一个用于生成签名URL的方法,但不包括使用该签名URL上传文件的方法。
我错过了什么?
PS - 这些将是大文件,因此执行可恢复的上传会很好。
更新:从我所知道的(hints here),你只需要PUT或POST到签名的URL。所以我想我应该去阻止一个包装XHR的通用文件上传工具。 (也许jQuery?)
考虑到GCP的重要性以及谷歌已经提供的代码量,这种做法有点令人震惊,但确实如此。我想我只需要分配一天来手动实现所有的步骤和UI ...(在找出XHR之前,我从来没有直接使用过...) – odigity
如果你不需要可恢复的上传支持,你可以通过一次呼叫逃脱。 您可能更容易找到的替代方案是使用政策文件形成POST文件。它们像HTML表单一样工作,除了带有带签名策略的额外隐藏字段:https://cloud.google.com/storage/docs/xml-api/post-object –