5

プログラミングの経験が不足しているため(3ヶ月)、私は上記の質問の例を再現することができませんでした。私が見つけた例は、非WP7 Silverlight、カメラベースの画像保存、私のニーズに合わせて複雑になったこと、またはうまく機能していないことです。 Webクライアントのインスタンスを使用してテキストファイルをダウンロードし、StreamWriterを使用して独立したストレージに保存することができました。私はjpg画像で同じタスクを遂行する必要があります。以下は、私がテキストファイルをダウンロードするのに使用したものです。Webクライアント経由でイメージ(jpg)をダウンロードし、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(); 
    } 

========== ========================================== ===================

私がとりうるような単純な、それを維持するなどのエラーを処理するために使用さ数行を削除しました。

誰かがjpgをダウンロードして保存するために私を有効にするには、上記を修正することができるしてください?

私は簡単に混乱するので、できるだけシンプルにしてください。

ありがとうございます!

決議

!============================================私はそれが、このサイトからの情報を使用して作業を取得するために管理===================================

以下。 http://dotnet.dzone.com/articles/operating-image-files-windows

これは、将来的に他の欲求不満の初心者を助けるでしょう!

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(); 
} 

答えて

4

、多分参考になっあなたに、このいずれかを試して

private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e) 
{ 
    HttpWebRequest reqest1 = (HttpWebRequest)WebRequest.Create(url); 
    reqest1.BeginGetResponse(DownloadImageCallback, reqest1); 
    Thread.Sleep(1000); 
} 

void DownloadImageCallback(IAsyncResult result) 
{ 

    HttpWebRequest req1 = (HttpWebRequest)result.AsyncState; 
    HttpWebResponse responce = (HttpWebResponse)req1.EndGetResponse(result); 
    Stream s = responce.GetResponseStream(); 
    Deployment.Current.Dispatcher.BeginInvoke(() => 
    { 
     string directory = "Images"; 
     if (!myStore.DirectoryExists(directory)) 
     { 
      myStore.CreateDirectory(directory); 
      using (IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication()) 
      { 
       using (var isoFileStream = myIsolatedStorage.CreateFile(directory + "//yourfilename.jpg")) 
       { 
        var wb = new WriteableBitmap(bitimage); 
        var width = wb.PixelWidth; 
        var height = wb.PixelHeight; 
        Extensions.SaveJpeg(wb, isoFileStream, width, height, 0, 100); 
       } 
      } 
     } 
     else 
     { 
      using (IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication()) 
      { 
       if (myIsolatedStorage.FileExists(directory + "//yourfilename.jpg")) 
       { 
        myIsolatedStorage.DeleteFile(directory + "//yourfilename.jpg"); 
       } 

       using (var isoFileStream = myIsolatedStorage.CreateFile(directory + "//yourfilename.jpg")) 
       { 
        var wb = new WriteableBitmap(bitimage); 
        var width = wb.PixelWidth; 
        var height = wb.PixelHeight; 
        Extensions.SaveJpeg(wb, isoFileStream, width, height, 0, 100); 
       } 
      } 
     } 
    }); 
} 
関連する問題