Android Studio无法获取存储下载URL [英] Android Studio can't get Storage download URL
本文介绍了Android Studio无法获取存储下载URL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我不知道为什么,但是我正在尝试的所有方法都不起作用. 我确实需要从我的文件中获取我的Storgae DownloadUrl,但我总是得到类似的东西: com.google.android.gms.tasks ...
i don't know why, but everything iam trying doesn't work. I really need my Storgae DownloadUrl form my Files but i always get something back like: com.google.android.gms.tasks...
我正在搜索一个星期,并尝试了不同的youtube方法.
I'm searching for a week and tryied different youtube methods.
如果有人可以帮助我,我将非常感激. 以下是我的代码的简要说明.
I would be really gratefull if someone could help me with it. Below is a snap of my Code.
非常感谢
private void uploadFile() {
if (mImageUri != null) {
final StorageReference fileReference = mStorageRef.child(System.currentTimeMillis()
+ "." + getFileExtension(mImageUri));
Log.i("test456", mImageUri.toString());
mUploadTask = fileReference.putFile(mImageUri)
.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(final UploadTask.TaskSnapshot taskSnapshot) {
Handler handler = new Handler();
handler.postDelayed(new Runnable(){
@Override
public void run() {
mProgressBar.setProgress(0);
}
}, 500);
Log.i("test789", fileReference.getDownloadUrl().toString());
Toast.makeText(UploadForm.this, "Upload successful", Toast.LENGTH_LONG).show();
//test string change Upload too
String storageUrl = "";
Upload upload = new Upload(mEditTextFileName.getText().toString().trim(),
taskSnapshot.getMetadata().getReference().getDownloadUrl().toString());
String uploadId = mDatabaseRef.push().getKey();
mDatabaseRef.child(uploadId).setValue(upload);
// FirebaseStorage.getInstance().getReference().child("uploads").getDownloadUrl();
final String downloadedUrl = taskSnapshot.getStorage().getDownloadUrl().toString();
Uri downloadURL = Uri.parse(mImageUri.toString());
String imageUrl = downloadURL.toString();
Log.i("test123", String.valueOf(mStorageRef.getDownloadUrl()));
Log.i("XXX URL PATH____",taskSnapshot.getMetadata().getReference().getDownloadUrl().toString());
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(UploadForm.this, e.getMessage(), Toast.LENGTH_SHORT).show();
}
})
.addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
@Override
public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {
double progress = (100.0 * taskSnapshot.getBytesTransferred() / taskSnapshot.getTotalByteCount());
mProgressBar.setProgress((int) progress);
}
});
} else {
Toast.makeText(this, "No file selected", Toast.LENGTH_SHORT).show();
}
}
private void openImagesActivity() {
Intent intent = new Intent(this, ImagesActivity.class);
startActivity(intent);
}
}
推荐答案
您可以尝试以下方法吗:
Could you try this:
fileReference.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
// Download URL
String url = uri.toString();
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
// Errors
}
});
这篇关于Android Studio无法获取存储下载URL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文