无法写入 Firebase 存储 onSuccess 侦听器内的 Firebase 数据库
Can't write to Firebase Database inside of Firebase Storage onSuccess listener
我正在尝试存储将文件上传到 Firebase 存储后获得的 Firebase 存储 URL,但由于我无法理解的原因,我无法写入 Firebase 上的某个位置Storage onSuccess 侦听器内部的数据库。任何想法为什么?如果这不是存储上传文件 URL 位置的正确方法,那么什么才是?
我似乎找不到这方面的例子。这是为了 android。
谢谢
你想要完成的是完全可行的,这里有一个例子
StorageReference fileRef = ....;
Uri fileUri = ....;
UploadTask uploadTask = fileRef.putFile(fileUri);
uploadTask.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
// Handle unsuccessful uploads
Log.d("TAG", "onFailure: " + exception);
}
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
// This is the URL you are looking for, here you should insert it into your db instance...Something like this
Uri downloadUrl = taskSnapshot.getDownloadUrl();
DatabaseReference dbRef = FirebaseDatabase.getInstance().getReference();
dbRef.child("uploadUrls").child("url1").setValue(downloadUrl.toString());
}
});
希望对您有所帮助
DatabaseReference dbRef = FirebaseDatabase.getInstance().getReference();
uploadTask.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
// Handle unsuccessful uploads
Log.d("TAG", "onFailure: " + exception);
}
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
// This is the URL you are looking for, here you should insert it into your db instance...Something like this
Uri downloadUrl = taskSnapshot.getDownloadUrl();
addData(downloadUrl.toString());
}
});
public void addData(String downloadUrl)
{
dbRef.child("uploadUrls").child("url1").setValue(downloadUrl);
}
我正在尝试存储将文件上传到 Firebase 存储后获得的 Firebase 存储 URL,但由于我无法理解的原因,我无法写入 Firebase 上的某个位置Storage onSuccess 侦听器内部的数据库。任何想法为什么?如果这不是存储上传文件 URL 位置的正确方法,那么什么才是?
我似乎找不到这方面的例子。这是为了 android。 谢谢
你想要完成的是完全可行的,这里有一个例子
StorageReference fileRef = ....;
Uri fileUri = ....;
UploadTask uploadTask = fileRef.putFile(fileUri);
uploadTask.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
// Handle unsuccessful uploads
Log.d("TAG", "onFailure: " + exception);
}
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
// This is the URL you are looking for, here you should insert it into your db instance...Something like this
Uri downloadUrl = taskSnapshot.getDownloadUrl();
DatabaseReference dbRef = FirebaseDatabase.getInstance().getReference();
dbRef.child("uploadUrls").child("url1").setValue(downloadUrl.toString());
}
});
希望对您有所帮助
DatabaseReference dbRef = FirebaseDatabase.getInstance().getReference();
uploadTask.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
// Handle unsuccessful uploads
Log.d("TAG", "onFailure: " + exception);
}
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
// This is the URL you are looking for, here you should insert it into your db instance...Something like this
Uri downloadUrl = taskSnapshot.getDownloadUrl();
addData(downloadUrl.toString());
}
});
public void addData(String downloadUrl)
{
dbRef.child("uploadUrls").child("url1").setValue(downloadUrl);
}