【问题标题】:Get non-percent encoded URL from firebase storage从 Firebase 存储中获取非百分比编码的 URL
【发布时间】:2021-05-30 19:34:11
【问题描述】:

使用 .getDownloadURL() 可以为我提供来自 Firebase 存储的百分比编码 URL。在这种情况下,我想将文件上传到子文件夹“images”。这是上传代码。

          var metadata = {
            contentType: "image/jpeg",
          };

          var imagesRef = storageRef.child("images");

          var fileName = image.jpg;
          var singleImageRef = imagesRef.child(fileName);

          var path = singleImageRef.fullPath;
          var uploadTask = storageRef
            .child(path)
            .put(fileName, metadata);

返回的 URL 如下所示:https://firebasestorage.googleapis.com/v0/b/app-name.appspot.com/o/images%2Fimage.jpg?alt=media&token=tokenstring

哪个有效 - 我被带到了正确的图像。但我希望 URL 读取: https://firebasestorage.googleapis.com/v0/b/app-name.appspot.com/o/images/image.jpg?alt=media&token=tokenstring

我应该在上传时传递一些元数据来阻止百分比编码的发生吗?

【问题讨论】:

  • 不知道为什么,但听起来你需要decodeURIComponent
  • 问题是,如果我重新格式化我的 URL,它不再起作用 - 根据 firebase,它是无效的。

标签: javascript google-cloud-firestore


【解决方案1】:

您无法控制 Firebase 存储生成的下载网址。您必须将它们视为引用文件的不透明字符串。

如果您想控制文件的 URL,则必须设置自己的文件服务器,或作为 Cloud Storage 中文件代理的自定义 API。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-13
    • 1970-01-01
    • 1970-01-01
    • 2020-09-28
    相关资源
    最近更新 更多