Загрузка файла изображения в приложении WP 8 из каталога

Я разрабатываю приложение WP 8 и хочу загрузить образ, который в данный момент находится на моем компьютере. Вот мой код

  try
        {
            using (FileStream fileStream = File.OpenRead("\\TiltFilter\\FilterEffects\\Assets\\AlignmentGrid.png")) 
            {
                MemoryStream memStream = new MemoryStream();
                memStream.SetLength(fileStream.Length);
                fileStream.Read(memStream.GetBuffer(), 0, (int)fileStream.Length);
            }
        }
        catch (Exception e)
        {
            string str = e.Message;
        }

Это дает мне исключение, что типа

System.Io.DirectoryNotFoundexceptionand the message isНе удалось найти часть пути 'C:\TiltFilter\FilterEffects\Assets\AlignmentGrid.png'.

Может ли какое-то тело помочь мне, как я могу загрузить изображение в памяти потока на WP8

Спасибо

3 ответа

Решение

Вам нужно добавить изображение в ваш проект как Content и использовать GetResourceStream чтобы получить доступ к потоку изображения:

var resource = App.GetResourceStream(new Uri("Assets/AlignmentGrid.png", UriKind.Relative));
var buffer = new byte[resource.Stream.Length];
resource.Stream.Read(buffer, 0, buffer.Length);

Телефон не понимает сетевых путей UNC - он не поддерживает протокол SMB, который используют файловые серверы Windows.

Вам нужно будет либо упаковать файл, чтобы он был частью пакета приложения (файл.xap) и был локальным для телефона, либо обслуживать ресурсы с помощью веб-сервера (то есть с использованием протокола http://).

Первый вариант, очевидно, самый надежный, так как не требует, чтобы телефон имел сетевое подключение к вашему серверу.

Пример того, как это сделать, см. В этом сообщении в блоге о разнице между упаковкой файлов "Содержимое" и "Ресурс" (в нем упоминаются файлы XML, но концепции одинаковы для любого типа файлов).

Приложение Windows Phone может получить доступ только к собственному изолированному хранилищу и SD-карте.

http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff402541%28v=vs.105%29.aspx

Если вы хотите обмениваться файлами между ПК и телефоном, вы можете использовать веб-сервис.

Другие вопросы по тегам