我正在尝试编写迁移脚本,以将存储在firestore中的存储URL从开发项目复制到暂存和生产项目。
我正在查询Firestore中的所有文档,过滤包含两个字符串之一的文档:
https://firebasestorage.googleapis.com/v0/b/${BUCKET_ID}/o/{FILEPATH}
https://storage.googleapis.com/${BUCKET_ID}/{FILEPATH}
我注意到第一个用于从javascript客户端上传图像,第二个用于从Cloud Functions上传图像。
是否可以轻松地从URL中获取存储路径而不进行解析? 有没有更简单的方法来实现将存储URL迁移到新项目?
注意:我想从URL获取存储路径。我知道另一种方法很简单。
答案 0 :(得分:0)
您要从存储的网址中获取“ {FILEPATH}”部分,这是我建议实现此目标的javascript代码:
var data = ['https://firebasestorage.googleapis.com/v0/b/my_bucket_id/o/file_path1','https://storage.googleapis.com/my_bucket_id/file_path2','https://firebasestorage.googleapis.com/v0/b/my_bucket_id/o/file_path3','https://storage.googleapis.com/my_bucket_id/file_path4','https://storage.googleapis.com/my_bucket_id/file_path5','https://storage.googleapis.com/my_bucket_id/file_path6','https://firebasestorage.googleapis.com/v0/b/my_bucket_id/o/file_path7']; //sample data
var treated_data = [];
for (url of data) {
var list = url.split('/'); // split the url by /
treated_data.push(list[list.length - 1]); // grabbing and saving the last part.
}
console.log(treated_data); // here you have all your FILEPATH part
注意:
根据用于处理数据的实际结构修改代码。
由于FILEPATH部分位于您要检索的url的末尾,因此无论您处理的是哪个url都没有关系,您只会得到最后一部分。
如果这对您没有帮助,请提供有关您的问题的更多信息(您的迁移过程如何,您使用哪个脚本来处理迁移...)