如何从 flutter 中 firebase 存储中存在的文件的 url 获取文件名?

Pav*_*r V 0 firebase flutter firebase-storage

我创建了一个按钮来从 firestore 获取的 URL 下载文件,我也需要文件名,有什么方法可以使用我获取的 URL 引用文件吗?我看到了类似问题的答案,但找不到正确的解决方案。

这是我得到的URL类型

https://firebasestorage.googleapis.com/v0/b/student-app.appspot.com/o/img%2FFileName.pdf?alt=media&token=367f598b-425d-4ce0-be2b-804d2103d69e
Run Code Online (Sandbox Code Playgroud)

有什么办法可以从中提取文件名吗?或者通过任何参考方法?

Dha*_*raj 9

如果您没有对文件的引用,那么您将不得不使用正则表达式:

String getFileName(String url) {
  RegExp regExp = new RegExp(r'.+(\/|%2F)(.+)\?.+'); 
  //This Regex won't work if you remove ?alt...token
  var matches = regExp.allMatches(url);

  var match = matches.elementAt(0);
  print("${Uri.decodeFull(match.group(2)!)}");
  return Uri.decodeFull(match.group(2)!);
}
Run Code Online (Sandbox Code Playgroud)