2016-07-08 53 views
1

我使用火力存儲上傳的文件。代碼是:如何實時使用Firebase獲取上傳文件的鏈接?

StorageReference storageRef = storage.getReferenceFromUrl("gs://fir-896a6.appspot.com"); 

final Uri selectedFile = data.getData(); 

StorageReference uploadRef = storageRef.child(selectedFile.getLastPathSegment()); 
UploadTask uploadTask = uploadRef.putFile(selectedFile); 

uploadTask.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() { 
       @Override 
       public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { 
        Log.i("Success", "uploaded"); 
       } 

} 

它成功上傳文件。現在,作爲上傳完整的,我想這兩個鏈接,這些文件(例如,https://firebasestorage.googleapis.com/v0/b/fir-896a6.appspot.com/o/17992?alt=media&token=68bd978a-4def-40d8-8edb-6526a15a94e3 和 GS://fir-896a6.appspot.com/17992)實時(也許在onSuccessListener)

回答

0

從一個簡單的代碼片段我博客:Firebase Storage

... 
uploadTask.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() { 
       @Override 
       public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { 
        hideProgressDialog(); 
        Uri downloadUrl = taskSnapshot.getDownloadUrl(); 
        Log.d("MainActivity", downloadUrl.toString()); 
        showAlertDialog(MainActivity.this, "Upload Complete", downloadUrl.toString(), new DialogInterface.OnClickListener() { 
         @Override 
         public void onClick(DialogInterface dialogInterface, int i) { 
          findViewById(R.id.button_step_3).setEnabled(false); 
          findViewById(R.id.button_step_4).setEnabled(true); 
         } 
        }); 

        Glide.with(MainActivity.this) 
          .load(downloadUrl) 
          .into(mImageView); 
       } 
      }) 
... 
相關問題