我使用firebase存储进行云存储
上传文件时,如果文件已存在于存储参考中,我不想上传.我只需要跳过上传并继续下一个文件.
目前我像这样上传
String pathString = "/Files/" + filename;
StorageReference filepathReference = rootreference.child(pathString);
StorageReference uploadRef = filepathReference.child(pathString);
UploadTask uploadTask = uploadRef.putFile(file);
Run Code Online (Sandbox Code Playgroud)
其中,显然再次上传并替换文件是否已存在.我只想通过检查存储桶中已存在的文件名来跳过不需要的上传.那可能吗?
尝试获取元数据.如果失败,则文件不存在
uploadRef.getMetadata()
.addOnSuccessListener({ /*File exists*/ })
.addOnFailureListener({
//File do not exist
UploadTask uploadTask = uploadRef.putFile(file);
})
Run Code Online (Sandbox Code Playgroud)
如果要完全禁止文件覆盖,而不仅仅是检查文件是否存在,则可以指定存储的安全规则
allow write: if resource.metadata == null; //
Run Code Online (Sandbox Code Playgroud)
但是我从未测试过它,所以我不确定它,也许它resource == null也会起作用
| 归档时间: |
|
| 查看次数: |
1287 次 |
| 最近记录: |