我有一些图片存储在媒体Libary,在这里查看。现在,我需要获得图像的名称后,我选择图像使用照片选择器任务。我使用照片选择任务来选择一个图像,然后得到图像的路径。我的假设是从路径上得到名字:
private void button1_Click(object sender, RoutedEventArgs e)
{
PhotoChooserTask objPhotoChooser = new PhotoChooserTask();
objPhotoChooser.Completed += new EventHandler<PhotoResult>(PhotoChooseCall);
objPhotoChooser.Show();
}
void PhotoChooseCall(object sender, PhotoResult e)
{
switch (e.TaskResult)
{
case TaskResult.OK:
BinaryReader objReader = new BinaryReader(e.ChosenPhoto);
image1.Source = new BitmapImage(new Uri(e.OriginalFileName));
MessageBox.Show("Photo's name: " + e.OriginalFileName.ToString());
break;
case TaskResult.Cancel:
MessageBox.Show("Cancelled");
break;
case TaskResult.None:
MessageBox.Show("Nothing Entered");
break;
}
}输出:
图片名称:\Applications\Data\C80566AB-E17E-495C-81A1-3FCAE34D3DEDE\Data\PlatformData\PhotoChooser-a8208960-3597-40fc-9b4f-869afcf822b6.jpg
在我选择相同的图像之后。它的名称将更改,(PhotoChooser-a8208960-3597-40fc-9b4f-869afcf822b6.jpg将更改)。我想这不是照片的名字。
所以:
发布于 2013-03-18 17:52:52
,您可以获取实际的文件名。为此,请使用MediaLibrary:
MediaLibrary lib = new MediaLibrary();
var collection = lib.RootPictureAlbum;
foreach (var p in collection.Albums[0].Pictures)
Debug.WriteLine(p.Name);请注意,我在根图片相册中指定相册索引。0将用于样本图片,等等。如果需要获取图像的内容,只需使用p.GetImage();获取可读的流即可。
发布于 2013-03-18 17:30:45
不是的。您无法获得文件的名称,因为它在图片中心。您将获得流的副本,该副本具有不同的临时名称。
https://stackoverflow.com/questions/15474325
复制相似问题