我正在尝试编写ProfileActivity的代码,这将使您可以选择上传带有您的名字的图像。
这是上传功能:
private void uploadFile(){
final StorageReference fileReference = mStorageRef.child(getFileExtension(mImageUri));
mUploadTask = fileReference.putFile(mImageUri);
fileReference.putFile(mImageUri)
.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
Toast.makeText(ProfileActivity.this, "Uploaded Successfully", Toast.LENGTH_SHORT).show();
Upload upload = new Upload(mEditTextFileName.getText().toString().trim(),
taskSnapshot.getUploadSessionUri().toString().trim(), mEditTextFileName.getText().toString().trim());
uploadID = mEditTextFileName.getText().toString().trim();
mDatabaseRef.child(uploadID).setValue(upload);
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(ProfileActivity.this, "No file selected", Toast.LENGTH_SHORT).show();
}
});
}
我不知道怎么了。我看到所有父母的所有mImageUrl值都变为我刚刚上传的那个项目。
我的上载类:
ublic class Upload {
private String mName;
private String mImageUrl;
private String key;
public Upload(){
//constructor
}
public Upload(String name, String imageUrl, String id){
if (name.trim().equals("")){
name = "No Name";
}
this.mName = name;
this.mImageUrl = imageUrl;
this.key = id;
}
我希望每次都在mEditTextFileName上上传一个具有不同名称的图像,该图像会将当前上传的图像存储在Firebase Storage中,并且不会在所有父级上更改mImageUrl值。
知道解决方案的人吗?找不到任何东西。