Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何将图像从firebase存储下载到手机内部存储_Android_Firebase_Firebase Storage_Android Internal Storage - Fatal编程技术网

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)
我想下载一个用户无法轻松访问的图像