如何将图像从 firebase 存储下载到手机内部存储

时间:2021-04-25 07:25:25

标签: android firebase firebase-storage android-internal-storage

我想将用户的个人资料图片下载到手机内部存储。 我试试这个代码

df = pd.read_csv('/path/abc.csv')
print(df.melt(id_vars=['id'], var_name=['month'], value_vars=['val1','val2']))

此代码可以在应用程序包名称中创建一个Direct文件夹,但随后发生了此错误。

 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();
            }

我想下载用户无法轻松访问的图像。

0 个答案:

没有答案