6

Visual Studio 2012、c#、silverlight、windows phone 8 アプリを使用しています。

Web サービスからデータを取得し、Web サービスを介して base64 文字列である画像を取得します。

私はそれをバイト配列に変換し、それを保存したいので、メモリ ストリームを使用して Windows Phone のストレージを使用しますか? それが正しいアプローチかどうかはわかりません。人がリンクをタップした後に画像を表示したいので、ローカルフォルダーだけに保存​​したくありません。

これは私がこれまでに持っているものです。

 byte[] ImageArray;
 var image = Attachmentlist.Attachment.ToString();
 imagename = Attachmentlist.FileName.ToString();
 ImageArray = Convert.FromBase64String(image.ToString());

 StorageFolder myfolder = Windows.Storage.ApplicationData.Current.LocalFolder;
 await myfolder.CreateFileAsync(imagename.ToString());
 StorageFile myfile = await myfolder.GetFileAsync(imagename.ToString());


 MemoryStream ms = new MemoryStream();

メモリ ストリームを初期化した後、バイト配列を取得してストレージ ファイルに書き込み、その後再度取得するにはどうすればよいでしょうか。

4

2 に答える 2

14

ファイルをディスクに書き込むには、次のコードを試してください。

StorageFile sampleFile = await myfolder.CreateFileAsync(imagename.ToString(), 
   CreateCollisionOption.ReplaceExisting);
await FileIO.WriteBytesAsync(sampleFile, ImageArray);

メモリ ストリームは、メモリに書き込むストリームを作成するため、この問題には適用されません。

于 2013-06-03T07:18:56.823 に答える