获取图片目录路径

7


我想在我的Xamarin.Android应用程序中保存一个图像(位图/字节数组)。
我使用了以下代码:

    private string getPathToFile(string fileName)
    {
        File dir = new File(Environment.GetExternalStoragePublicDirectory(Environment.DirectoryPictures), "imgen");
        if (dir.Exists())
        {
            dir.Mkdirs();
        }

        File image = new File(dir, fileName);
        return image.Path;
    }

所以返回的路径大致如下:
"/storage/emulated/0/Pictures/imgen/new.png"

但是我在 Android 设备监视器中检查时发现模拟器上不存在这条路径。
我读到这个文件夹是某种连接到 mnt/shell/emulated/... 文件夹的链接,实际上在模拟器上存在。
但我如何在我的应用程序中检索此真实路径呢?


这段代码有什么问题吗?难道它没有在模拟器中正确地写入您的图像?我曾经使用类似的代码将图像写入我的SD卡(真实设备),它完美地工作了。 - Sudip Podder
2个回答

9

我使用这段代码来操作设备:

path = Android.OS.Environment.GetExternalStoragePublicDirectory(
  Android.OS.Environment.DirectoryPictures).AbsolutePath;

string myPath= Path.Combine(path, "file.name");

对于模拟器而言,它无法正常工作。


这个可以工作。问题是文件夹“imgen”没有被创建。 - Freshchris
2
Environment.DIRECTORY_PICTURES - Abandoned Cart

1
请使用以下代码...
private void CreateDirectoryForPictures()
    {
        App._dir = new File(
            Environment.GetExternalStoragePublicDirectory(
                Environment.DirectoryPictures), "imgen");
        if (!App._dir.Exists())
        {
            App._dir.Mkdirs();
        }
    }

还有这个CreateDirectoryForPictures()函数调用。然后创建了名为imgen的文件夹。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接