【问题标题】:How can I upload a file from AngularJS application to Firebase Hosting如何将文件从 AngularJS 应用程序上传到 Firebase 托管
【发布时间】:2017-08-18 00:00:11
【问题描述】:

我正在使用 Firebase 托管来托管我的 AngularJS 应用程序。我正在使用 ng-file-upload 从应用程序中已有的表单中获取用户上传的图像。我想将用户上传的图像存储在我的 Firebase 主机上的一个文件夹中。我无法使用 Firebase 存储,因为我需要一个预先确定的直接链接到我平台各个部分的图像资源。我想也许我可以使用 Firebase Functions 上传文件并将其存储在我的 Firebase 托管中。我一直遇到跨域错误。

有人能解释一下如何构建 Firebase 函数,以便我可以将图像上传到我的 Firebase 主机吗?据我了解,Firebase 功能与其他 Firebase 托管内容的托管位置不同,但我不确定这是否会有所不同。

【问题讨论】:

    标签: angularjs firebase firebase-hosting ng-file-upload


    【解决方案1】:

    Firebase 托管专门用于版本化、部署的静态内容。 Cloud Storage for Firebase 绝对是适合您的产品。当您说您需要“预先确定的直接链接”时,您的意思是您需要能够在上传完成之前知道 URL?如果没有,您可以在 Firebase Cloud Storage SDK 中使用 getDownloadURL()

    如果您确实需要提前知道 URL,您可以执行以下操作:

    1. Upload the file 使用 Firebase SDK 到 Cloud Storage。
    2. Create a Cloud Function 监听上传。
    3. 在函数中,使用GCS Node API 将对象公开。

    完成上述操作后,您的文件将可通过https://<bucket>.storage.googleapis.com/<path_to_object> 直接公开访问。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-25
      • 1970-01-01
      • 2016-05-20
      • 1970-01-01
      • 2019-10-10
      • 2021-01-06
      • 2017-08-15
      • 1970-01-01
      相关资源
      最近更新 更多