0
私はFireBaseストレージについて教えています。ユーザーが画像を選択してFirebaseにアップロードする簡単なアプリを作ることにしました。 しかし、できるだけ早く私は、アップロードする画像を選択すると、私のアプリがクラッシュし、私がイメージからそれを取得していたとしても、私のURIがnullであることを言って、私は画像を選択してアップロードできませんか?
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Picture"), 1);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode != RESULT_OK) {
return;
}
if (requestCode == 1) {
final Bundle extras = data.getExtras();
if (extras != null) {
//Get image
path = extras.getParcelable("data");
}
StorageReference storageRef = FirebaseStorage.getInstance().getReference();
storageRef.putFile(path)
.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
// Get a URL to the uploaded content
@SuppressWarnings("VisibleForTests") Uri downloadUrl = taskSnapshot.getDownloadUrl();
Log.e("myTag", "done, " +downloadUrl);
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
Log.e("myTag", exception.toString());
}
});
}
}
を選択し、私はこのエラーを5時間以上解決しようとしていて、何十億回もドキュメントを読んでいてもまだ混乱しています。どんな助けもありがとう!
ありがとうございました。私はそれを試みましたが、今では例外が 'getRootにアップロードできません。 .getReference( 'image.png')などの格納場所にアップロードする必要があります。putFile ... ' –
私はfirebaseのルールを調整してみました。 。私は何をすべきか? –
@RuchirBaronia:答えを更新しました。ルートのサブフォルダへの参照を作成します(例: "images": 'StorageReference storageRef = FirebaseStorage.getInstance()。getReference(" images ")' –