如何获取文件的路径

本文关键字:文件 路径 获取 何获取 | 更新日期: 2023-09-27 18:33:44

我正在尝试获取任何类型的文件的路径,但不知道为什么它仅适用于图像,任何其他文件扩展名路径始终为空。这是我的代码:

private string GetPath(Android.Net.Uri uri)
    {
        string path;
        string[] projection = new[] { Android.Provider.MediaStore.MediaColumns.Data };
        using (ICursor cursor = ManagedQuery(uri, projection, null, null, null))
        {
            if (cursor != null)
            {
                int columnIndex = cursor.GetColumnIndexOrThrow(Android.Provider.MediaStore.MediaColumns.Data);
                cursor.MoveToFirst();
                path = cursor.GetString(columnIndex);                    
            }
        }
        return path;
    }

我做错了什么还是有其他方法可以做到?

谢谢!

如何获取文件的路径

Uri 有一个函数 getPath(),它的调用方式如下:

uri.getPath()

您可能可以将其转换为字符串。

正如这篇文章所建议的:

转换文件:URI到安卓中的文件

编辑

在 Xamarin 中,此函数不存在。

根据这篇文章,这应该很容易:

Android File Path (Xamarin)

它使用 Xamarin 的官方文档:

http://developer.xamarin.com/recipes/android/other_ux/pick_image/

多亏了

这个天才的ryupold,才有了一个解决方案

https://gist.github.com/ryupold/fe38e5acbe1586681e27