Obtain real name of photo in windows phone 8

喜你入骨 提交于 2019-12-24 16:01:13

问题


I can't show the real name of my photos of my picture library in windows phone 8. I have a there photos whose original names are: chucktodd-einstein-2010-1.jpg, chucktodd-einstein-2010-2.jpg,chucktodd-einstein-2010-3.jpg.

I execute this code:

MediaLibrary m = new MediaLibrary();        
for (int j = 0; j < m.Pictures.Count; j++)
{
     var r = m.Pictures[j];
     MessageBox.Show(r.Name);
}

And MessageBox show always this name : "Einstein writing on a blackboard with chalk illustration by chuck Todd 2010".

How can you Obtain the original name?


回答1:


I found this Library and fixed this issue:

http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.media.phoneextensions.medialibraryextensions.getpath(v=xnagamestudio.42).aspx

using Microsoft.Xna.Framework.Media.PhoneExtensions;

MediaLibrary m = new MediaLibrary();        
for (int j = 0; j < m.Pictures.Count; j++)
{
  var r = m.Pictures[j];
  MessageBox.Show(MediaLibraryExtensions.GetPath(r));
}

With this code I obtain the full path of file with the original name.




回答2:


You can try this:

r.getPath();

and then strip the folder in the path.




回答3:


As the official documentation shows, when accessing the MediaLibrary and looping through the resulting Picture list, there is no relative path, absolute path or filename for each image.

But there is access to date, name (description, if any) and a few other properties - so the solution is to generate your own filename when needed.

If we look at how the built-in Windows Phone Camera app and auto-upload to Skydrive feature works, my Skydrive camera roll has the following filenames:

  • WP_20130716_001.jpg
  • WP_20130716_002.jpg
  • WP_20130716_003.jpg

The pattern above is very easy to see an reproduce (and replace WP with the name of your app):

  • WP (underscore) ISO date format (underscore) image number

You may be tempted to use the name property (ie. description) to generate a desktop-like filename but name appears to be optional so it's blank most of the time, in my experience.




回答4:


The MediaLibrary API does not provide access to the original file name.

Picture.Name seems to have the name given by the application that saved the picture. For example, for images downloaded from web by IE, it contains something like C:\Data\Users\DefApps\AppData\INTERNETEXPLORER\Temp\Saved Images\image.jpg. If image is saved by SkyDrive app, the name does not contain the .jpg extension at all.



来源:https://stackoverflow.com/questions/17655485/obtain-real-name-of-photo-in-windows-phone-8

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!