c# - 将字节数组写入Windows Phone中的存储文件

标签 c# windows-phone-8

我正在使用 Visual Studio 2012、C#、Silverlight、Windows Phone 8 应用程序。

我们从网络服务获取数据,通过网络服务我们得到一张图片,它是一个 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();

所以在我初始化内存流之后,我如何获取字节数组并将其写入存储文件,然后再次检索它?

最佳答案

要将文件写入光盘,请尝试以下代码:

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

内存流创建写入内存的流,因此不适用于此问题。

关于c# - 将字节数组写入Windows Phone中的存储文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16891574/

相关文章:

c# - ASP.NET Core 3.1 Web 应用程序在 IIS Express 上运行时抛出错误 500.30,但在使用 dotnet watch run 时不会抛出错误

c# - 同一类的析构函数中的对象实例化和垃圾收集

c# - 如何显示控制台应用程序中的右键单击菜单?

c# - 空字符串上的 ToString

c# - 动态覆盖方法 - 或 - 在运行时调用方法时观察?

c# - 如果集合值相同,为什么 LongListSelector 会添加额外的项目?

c++ - 为什么 WP8.1 运行时组件会在调用 boost::filesystem::file_size() 时抛出 C++ 异常?

c# - 如何突出显示 LongListSelector 中的选定项

c# - 快速应用恢复不工作

windows-phone-8 - 如何在 Windows Phone 8 真机上设置假 GPS 位置