我正试图将一个图像添加到firebase存储中,但每当尝试上传时,每次都会失败(每次运行else部分都会出现消息"出了问题"(。我正在此处添加代码。。。
private void uploadImage() {
pd.setMessage("Uploading...");
pd.show();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 50 ,baos);
byte[] finalimg = baos.toByteArray();
final StorageReference filePath;
filePath = storageReference.child("Notice").child(finalimg+"jpg");
final UploadTask uploadTask = filePath.putBytes(finalimg);
uploadTask.addOnCompleteListener(UploadNotice.this, new OnCompleteListener<UploadTask.TaskSnapshot>() {
@Override
public void onComplete(@NonNull Task<UploadTask.TaskSnapshot> task) {
if (task.isSuccessful()) {
uploadTask.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
filePath.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
downloadUrl = String.valueOf(uri);
uploadData();
}
});
}
});
}else {
pd.dismiss();
Toast.makeText(UploadNotice.this, "Something went wrong", Toast.LENGTH_SHORT).show();
}
}
});
}
请有人告诉我我的代码中有什么问题如何解决
我猜您在jpg
扩展之前缺少.
。
child
参数需要是String
,您将连接byte[]
和String
。
无论如何,如果你需要知道错误是什么:
uploadTask.addOnFailureListener(exception -> Log.e("error", exception.getMessage());