2017-11-28 15 views
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(); 
    } 

} 

答えて

0

だところを教えてくださいアップロードごとにいくつかの一意のファイル名を使用し、ファイルの名前ではなくディレクトリのコンポーネントとしてユーザーIDを扱います:

String filename = "you put a unique file name here"; 
videoRef = storageRef.child("/videos/" + userUid + "/" + filename); 
+0

私はそれを得て、魔法のように働きました! –

関連する問題