Debido a mi falta de experiencia en programación (3 meses) no he podido recrear los ejemplos encontrados de la pregunta anterior. Los ejemplos que he encontrado se refieren a WP7 Silverlight, el ahorro de imágenes basado en cámaras, no han sido complejos para mis necesidades o simplemente no han funcionado. Pude descargar un archivo de texto usando una instancia del Webclient y guardarlo en un almacenamiento aislado usando StreamWriter. Necesito realizar la misma tarea con imágenes jpg. A continuación se muestra lo que he usado para descargar el archivo de texto.¿Cómo descargo imágenes (jpg) a través de un webclient y las guardo en un almacenamiento aislado en Windows Phone 7?
============================================== =================================
IsolatedStorageFile MyStore = IsolatedStorageFile.GetUserStoreForApplication();
private void GetTextFile()
{
WebClient client = new WebClient();
client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(client_DownloadStringCompleted);
client.DownloadStringAsync(new Uri("http://mywebsite.com/textfile.txt"));
}
private void client_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
StreamWriter MyStreamWriter = new StreamWriter(new IsolatedStorageFileStream("textfile.txt", FileMode.Create, MyStore));
MyStreamWriter.WriteLine(e.result)
MyStreamWriter.Close();
}
========== =============================================== ===================
He eliminado algunas líneas utilizadas para manejar errores, etc. para mantenerlo lo más simple posible.
¿Alguien podría modificar lo anterior para permitirme descargar y guardar un jpg?
Por favor, mantenlo lo más simple posible ya que me confundo fácilmente.
¡Gracias por su tiempo de anticipación!
RESUELTOS! ============================================ ================================
Me las arreglé para hacerlo funcionar usando información de este sitio abajo. http://dotnet.dzone.com/articles/operating-image-files-windows
¡Espero que esto ayude a otros novatos frustrados en el futuro!
IsolatedStorageFile MyStore = IsolatedStorageFile.GetUserStoreForApplication();
private void GetImageFile()
{
WebClient client = new WebClient();
client.OpenReadCompleted += new OpenReadCompletedEventHandler(client_OpenReadCompleted);
client.OpenReadAsync(new Uri("http://mywebsite.com/1.jpg"), client);
}
void client_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
var resInfo = new StreamResourceInfo(e.Result, null);
var reader = new StreamReader(resInfo.Stream);
byte[] contents;
using (BinaryReader bReader = new BinaryReader(reader.BaseStream))
{
contents = bReader.ReadBytes((int)reader.BaseStream.Length);
}
IsolatedStorageFileStream stream = MyStore.CreateFile("10.jpg");
stream.Write(contents, 0, contents.Length);
stream.Close();
}