如何获取智能手机和DCIM文件夹的内部存储器的路径?

时间:2017-06-16 08:06:35

标签: c# xamarin xamarin.android

如何获取智能手机内存和DCIM文件夹的路径,然后将照片保存在那里?

string directory = System.IO.Path.Combine(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath, Android.OS.Environment.DirectoryDownloads);
FileStream file = new FileStream(System.IO.Path.Combine(directory, "newProdict_" + product.Width + "x" + product.Height + ".png"), FileMode.OpenOrCreate);

1 个答案:

答案 0 :(得分:1)

您可以像这样获取DCIM文件夹:

var dcimFolder = Android.OS.Environment.GetExternalStoragePublicDirectory(System.Environment.DirectoryDcim).Path;

对于编写文件,您可以使用nuget包PCLStorage,因此您已经以跨平台的方式拥有所有内容:

var folder = await FileSystem.Current.GetFolderFromPathAsync(dcimFolder);
var file = await folder.CreateFileAsync("image.jpg", CreationCollisionOption.ReplaceExisting);
byte[] buffer = new byte[100];
using (System.IO.Stream stream = await file.OpenAsync(FileAccess.ReadAndWrite))
{
    stream.Write(buffer, 0, 100);
}