Javascript 如何提高文件上传到谷歌存储的速度?

Javascript 如何提高文件上传到谷歌存储的速度?,javascript,google-cloud-storage,google-api-nodejs-client,pre-signed-url,Javascript,Google Cloud Storage,Google Api Nodejs Client,Pre Signed Url,我已经实现了javascript代码,可以将多块文件上传到google云存储 下面是我执行上传文件的流程: 1.用户使用javascript客户端web应用程序{请求来自亚洲地区}选择要上载的文件 2.javascript客户端应用程序请求到我们的应用程序服务器,在NODEJS{托管在谷歌云的计算引擎-美国地区}中实现,以允许文件上传{授权} 2.Nodejs应用程序服务器向客户端应用程序返回signedurl 3.客户端应用程序开始使用该签名url将文件以多个块上传到google存储 4.将成

我已经实现了javascript代码,可以将多块文件上传到google云存储

下面是我执行上传文件的流程: 1.用户使用javascript客户端web应用程序{请求来自亚洲地区}选择要上载的文件 2.javascript客户端应用程序请求到我们的应用程序服务器,在NODEJS{托管在谷歌云的计算引擎-美国地区}中实现,以允许文件上传{授权} 2.Nodejs应用程序服务器向客户端应用程序返回signedurl 3.客户端应用程序开始使用该签名url将文件以多个块上传到google存储 4.将成功的客户端报告上载到app server时

我能够以多个块上传文件,但我观察到,如果我在谷歌云美国地区托管nodejs应用服务器,而不是在执行客户端应用请求的同一台机器上托管,上传速度会慢2-3倍

请让我知道,如果你有解决方案如何提高上传性能

以下内容中提到了一些解决方法:

可恢复的上传被固定在它们开始的区域。例如 如果您在美国创建一个可恢复的上传URL并将其提供给客户端 在亚洲,上传仍然通过美国。执行可恢复的任务 在未启动的区域进行上载可能会导致上载速度缓慢。 为了避免这种情况,您可以构造初始POST请求并 由服务器签名,然后将签名的URL提供给客户端 从他们的位置开始上传。一旦启动,则 客户端通常可以使用生成的会话URI发出PUT请求 这不需要签字

但在提到这一点时:

  • 我找不到任何代码示例:一旦客户端收到已签名的 来自服务器的url如何构造初始JSON API调用
  • 第一次呼叫的预期响应是什么?如何提取 会话URI
  • 如何使用会话URI上传更多的块

  • 您可能会混淆两个单独的地面军事系统功能。地面军事系统允许通过几种方式将可恢复上传授权给第三方,而无需认证

    首先,也是首选的,是签名URL。您将向客户端发送一个已签名的URL,该URL将允许该客户端开始可恢复的上载

    其次,由于您上面提到的区域固定,不太可取的做法是让服务器自己启动一个可恢复的上载,然后将上载ID传递给客户端

    听起来你想要第一件东西,但却在使用第二件

    使用签名URL需要使用XML API,该API以类似于JSON API的方式处理可恢复上传:

    您需要对第一个POST调用进行签名,以创建上载,并将该URL传递给用户,以便用户自己调用