当照片选择器返回差异文件名时如何从 MediaLibrary 检索照片文件
Posted
技术标签:
【中文标题】当照片选择器返回差异文件名时如何从 MediaLibrary 检索照片文件【英文标题】:How to retrieve photo file from MediaLibrary when photochooser returned diff filename 【发布时间】:2013-07-14 12:45:56 【问题描述】:我将图像保存在 MediaLibrary 中,如下所示
System.Windows.Media.Imaging.Extensions.SaveJpeg(wb, msWrite, g_IntWidth, g_IntHeight, 0, 100); 媒体库 ML = 新媒体库(); ML.SavePicture("My1stPhoto.jpg", msWrite);问题是:
稍后当我使用 PhotoChooser 选择以前保存的照片 ( My1stPhoto.jpg ) 时,但这是有效的。返回的文件名似乎与 My1stPhoto.jpg 不同
我用下面的代码,字节是0?需要你的帮助。谢谢。
void photoChooserTask_Completed(object sender, PhotoResult e) strSelectedFilenameinHub = e.OriginalFileName; StreamResourceInfo sri = null; Uri jpegUri = new Uri(strSelectedFilenameinHub, UriKind.Relative); sri = Application.GetResourceStream(jpegUri); byte[] imageData = new byte[sri.Stream.Length]; sri.Stream.Read(imageData, 0, System.Convert.ToInt32(sri.Stream.Length));【问题讨论】:
【参考方案1】:为什么要使用媒体库检索流?可以直接使用e.ChosenPhoto
检索图片内容:
void photoChooserTask_Completed(object sender, PhotoResult e)
byte[] imageData = new byte[e.ChosenPhoto.Length];
e.ChosenPhoto.Read(imageData, 0, System.Convert.ToInt32(e.ChosenPhoto.Length));
我也怀疑您是否需要将流的内容复制到字节数组。根据您要对图片执行的操作,您可能需要选择一种占用内存较少的方式。
【讨论】:
以上是关于当照片选择器返回差异文件名时如何从 MediaLibrary 检索照片文件的主要内容,如果未能解决你的问题,请参考以下文章
如何为图像选择器选择多个 (2-5) 图像然后作为图像视图返回?
如何使用 html 文件选择器(输入类型 =“文件”)将照片上传到 facebook(图形 api)