【问题标题】:How to get extension of file from URL which is stored in Cloud FireStore firebase如何从存储在 Cloud FireStore firebase 中的 URL 获取文件扩展名
【发布时间】:2020-01-19 08:19:51
【问题描述】:

我有一个存储在云数据库 firestore 中的 url。我想检查文件的扩展名是图像还是视频。因为它在 .DOT 之后没有任何扩展名,所以我无法执行任何子字符串方法在这种类型上https://firebasestorage.googleapis.com/v0/b/abc-43546.appspot.com/o/content%2Fc86608030813072?alt=media&token=6505c905-cbc2-40e9-a48d-7edda3090666

请帮助我没有从互联网上找到任何可行的解决方案。谢谢

【问题讨论】:

  • 我建议您在下载 URL 之外,将有关文件的额外信息写入您稍后需要的数据库中。不要只依赖那个 URL 本身。因此,如果您以后需要该文件类型,请将其写入数据库。
  • 是的,我这样做是因为没有一个解决方案有效。
  • @HassanTariq 你可以发布你的解决方案吗?

标签: android firebase-storage


【解决方案1】:

不知道在AndroidJava 我猜是怎么做到的?

JavaScript(此处为TypeScript 版本)中,它的工作方式如下所示。这是我的nodemailer 函数发送带有附件的电子邮件的一部分。

import { DocumentSnapshot } from 'firebase-functions/lib/providers/firestore';
import { EventContext } from 'firebase-functions';

async function onCreateSendEmail(
  snap: DocumentSnapshot,
  _context: EventContext
) {
  try {
    const contactFormData = snap.data();
    ...
    const mailOptions = {
      attachments: [
        {
          contentType: `${contactFormData!.contentType}`,
          filename: `${contactFormData!.fileName}`,
          path: `${contactFormData!.fileUploader}`,
        },
      ],
    ...
    }
  ...
  }
...
}

contentTypefileNamefileUploader 是在前端定义的。在这种情况下,这些是在提交表单之前定义的,并从表单对象中获取数据。 fileUploader 是必不可少的,它是存储所有文件元数据的表单控件名称。

【讨论】:

    猜你喜欢
    • 2020-03-28
    • 1970-01-01
    • 1970-01-01
    • 2021-10-05
    • 2021-02-27
    • 1970-01-01
    • 1970-01-01
    • 2011-06-14
    • 2021-11-30
    相关资源
    最近更新 更多