Android 如何将图像从firebase存储下载到手机内部存储
我想将用户的个人资料图片下载到手机内部存储器中。 我试试这个代码Android 如何将图像从firebase存储下载到手机内部存储,android,firebase,firebase-storage,android-internal-storage,Android,Firebase,Firebase Storage,Android Internal Storage,我想将用户的个人资料图片下载到手机内部存储器中。 我试试这个代码 File fileWithinMyDir = new File(getApplicationContext().getExternalFilesDir("Direct").getAbsolutePath()); if (!fileWithinMyDir.exists()) { fileWithinMyDir.getParentFile().mkdirs(
File fileWithinMyDir = new File(getApplicationContext().getExternalFilesDir("Direct").getAbsolutePath());
if (!fileWithinMyDir.exists()) {
fileWithinMyDir.getParentFile().mkdirs();
Toast.makeText(getApplicationContext(), "Directory Created", Toast.LENGTH_LONG).show();
}
try {
SharedPreferences.Editor editor = getSharedPreferences("Preference", MODE_PRIVATE).edit();
StorageReference ref = FirebaseStorage.getInstance().getReference().child("ProfileImages/" + Objects.requireNonNull(FirebaseAuth.getInstance().getCurrentUser()).getUid());
FileOutputStream out = new FileOutputStream(fileWithinMyDir);
ref.getFile(fileWithinMyDir).addOnSuccessListener(taskSnapshot -> {
Bitmap my_image = BitmapFactory.decodeFile(fileWithinMyDir.getAbsolutePath());
my_image.compress(Bitmap.CompressFormat.JPEG, 100, out);
String path = MediaStore.Images.Media.insertImage(getContentResolver(), my_image, "ProfileImage", null);
Uri uri = Uri.parse(path);
editor.putString("profilePic", uri.toString());
editor.apply();
});
} catch (FileNotFoundException e) {
e.printStackTrace();
}
此代码可以在应用程序包名称内创建文件夹Direct,但随后发生了此错误
2021-04-25 12:39:58.226 12488-13019/com.kavaratech.direct E/StorageException: StorageException has occurred.
An unknown error occurred, please check the HTTP result code and inner exception for server response.
Code: -13000 HttpResult: 200
2021-04-25 12:39:58.228 12488-13019/com.kavaratech.direct E/StorageException: /storage/emulated/0/Android/data/com.kavaratech.direct/files/Direct: open failed: EISDIR (Is a directory)
java.io.FileNotFoundException: /storage/emulated/0/Android/data/com.kavaratech.direct/files/Direct: open failed: EISDIR (Is a directory)
我想下载一个用户无法轻松访问的图像