0
Firebase Storageを使用して、ビデオ/オーディオのユーザーファイルを保存しています。 私の主なアイデアは、各ビデオ/オーディオをユーザーID(UID)で保存することです。 各ユーザには、UIDの下に保存された複数のビデオ/オーディオファイルがあることを意味します。 私は保存した古いビデオに新しいビデオを保存し続けるのが問題であるというコードを書いています。 、あなたが思い付くする必要がありますAndroid - ビデオ/オーディオファイルをFirebaseストレージにアップロード
videoRef = storageRef.child("/videos/" + userUid);
代わりに: 私はあなたが同じファイルパスそのユーザーのアップロードごと時間を使用している間違った
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
if (requestCode == PICK_VIDEO_REQUEST) {
Uri selectedVideoUri = data.getData();
String userUid = FirebaseAuth.getInstance().getCurrentUser().getUid();
StorageReference storageRef = FirebaseStorage.getInstance().getReference();
videoRef = storageRef.child("/videos/" + userUid);
//TODO: save the video in the db
uploadData(selectedVideoUri);
}else if(requestCode == PICK_AUDIO_REQUEST){
//TODO: save the audio in the db
}
}
}
private void uploadData(Uri videoUri) {
if(videoUri != null){
UploadTask uploadTask = videoRef.putFile(videoUri);
uploadTask.addOnCompleteListener(new OnCompleteListener<UploadTask.TaskSnapshot>() {
@Override
public void onComplete(@NonNull Task<UploadTask.TaskSnapshot> task) {
if(task.isSuccessful())
Toast.makeText(getContext(), "Upload Complete", Toast.LENGTH_SHORT).show();
progressBarUpload.setVisibility(View.INVISIBLE);
}
}).addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
@Override
public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {
updateProgress(taskSnapshot);
}
});
}else {
Toast.makeText(getContext(), "Nothing to upload", Toast.LENGTH_SHORT).show();
}
}
私はそれを得て、魔法のように働きました! –