我已成功保存图像、录制声音并将其保存在 Firebase 中。但是音频文件无法保存多个文件,当我尝试保存另一个录音时,它将替换旧记录并且 Firebase 中只有一个文件。如何在不替换 Firebase 中的旧记录的情况下保存新记录?
Uri uriAudio = Uri.fromFile(new File(audioFilePath).getAbsoluteFile());
final StorageReference filePath = ref.child("Education/image").child(uriImage.getLastPathSegment());
final StorageReference audioRef = ref.child("Education/audio").child(uriAudio.getLastPathSegment());
// on success upload audio
audioRef.putFile(uriAudio).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(final UploadTask.TaskSnapshot audioSnapshot) {
//upload image
filePath.putFile(uriImage).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(final UploadTask.TaskSnapshot imageSnapshot) {
mProgress.dismiss();
@SuppressWarnings("VisibleForTests") Uri audioUrl= audioSnapshot.getDownloadUrl();
@SuppressWarnings("VisibleForTests") Uri imageUrl= imageSnapshot.getDownloadUrl();
是的你可以。为此,您需要在每次上传音频文件时为您的音频文件指定一个不同的名称。如果您继续使用相同的名称上传,您的音频每次都会被覆盖。不幸的是,没有为 Firebase 存储生成唯一音频文件名的内置方法(如push()
Firebase 数据库中的方法)。
要拥有全球唯一的音频文件名,您必须自己生成这些名称。一种方法是使用 Firebase 数据库的push()
方法,但您也可以使用您想要的任何其他GUID 生成器。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句