当前位置: 首页 > 面试题库 >

如何允许匿名上传到云存储

孙宏扬
2023-03-14
问题内容

我需要用户将文件上传到我的Google云端存储,而无需通过Google进行身份验证。这些主要是运行我的应用程序的Windows台式机/笔记本电脑用户。阅读完不同的身份验证机制后,我发现可恢复的上传可能是我想要的。上面的页面提供了有关如何实现此功能的REST API。我有几个问题:

  1. 这是第三方将数据上传到我的帐户而不登录任何Google帐户的正确方法吗?

  2. 是否存在包含可恢复上传相关代码的Python或Java示例?

谢谢你的帮助。


问题答案:

您有三个主要选择:

  1. 使用签名的URL。基本上,您将提供一种服务器,该服务器可以使用您喜欢的任何身份验证方案为应用程序分配“签名的URL”。然后,该应用程序将使用其XML API与Google Cloud Storage联系,并使用已签名的URL上传内容。这是最推荐的方法。 http://developers.google.com/storage/docs/accesscontrol#Signed-URLs

  2. 在服务器上启动可恢复的上载,并将URL传递给应用程序。当开始可恢复会话时,将生成一个URL,供上传者联系以上传实际数据。该URL包含一个upload_id参数,该参数用作该上载的自身身份验证,因此该URL就是客户端所需的全部内容(请注意:这就是确保该上载URL安全的重要原因)。 https://developers.google.com/storage/docs/json_api/v1/how-tos/upload#resumable

  3. 创建具有权限集的存储桶,以便匿名用户可以向其中写入任意对象。这是一个 坏主意 。对存储桶的写权限意味着匿名用户可以删除该存储桶中的任何文件,上传任何大小的对象(您需要承担由此产生的存储费用),在他们上传的对象上设置ACL(例如,他们可以使用您的存储桶作为转储电影并与朋友共享URL的地方)。不要使用这种方法。



 类似资料:
  • 我正试着上传一张照片,在被croppie剪切到GCS之后。gcs write(imageToUpload)方法失败,因为imageToUpload当前不是文件,而是Blob。有没有人知道一个办法让这件事成功?可能是python中一种将BLOB转换为文件的方法吗?可以从Croppie返回的图像类型有:1)画布,2)HTML,3)BLOB和4)Base64这里是文档(Ctrl-F“result”)。任

  • 在调试级别进行日志记录时,我看到了Spring Security的以下反馈: 我试图实现的是有一个可以在任何时候调用的方法,它将发送一个答复,指示请求是否在登录的会话中。

  • 我有一个方法,我想允许匿名和身份验证访问。 我正在使用Spring Security3.2.4和基于java的配置。 在调试级别进行日志记录时,我看到了Spring Security的以下反馈: 我试图实现的是有一个可以在任何时候调用的方法,它将发送一个答复,指示请求是否在登录的会话中。

  • 我有一个在docker环境上运行的spring-boot应用程序,它连接到Git存储库来获取应用程序的配置。我的问题是,当应用程序试图获取。属性文件。这很奇怪,因为同样的应用程序,如果我改变用户和密码回来工作。 错误 我已经尝试了这个解决方案,但它不起作用:创建basedir目录。 应用程序.yml 我已经在 Docker 容器内部检查了临时目录是否具有所有权限。 当我在本地环境中使用命令运行相同

  • 我目前面临的问题与谷歌云存储, 我能够下载对象上传到谷歌云存储,但当天晚些时候,我开始得到的错误,因为"这个网站无法到达" 我在c#中以编程方式创建了一个bucket,代码如下: 因此,创建存储桶的设置如下: 默认存储类别:多地区 位置:美国(美国多个地区) 公共访问:每个对象 生命周期:无 访问控制模型:存储桶策略