【发布时间】:2014-04-25 14:24:38
【问题描述】:
我需要读写一个 MemoryStream 我编写了这个方法,但我在加载方法上有一个错误:
public async void SaveToStorage(MemoryStream stream, String filename)
{
var localFolder = ApplicationData.Current.LocalFolder;
var storageFile = await localFolder.CreateFileAsync(filename, CreationCollisionOption.OpenIfExists);
using (Stream x = await storageFile.OpenStreamForWriteAsync())
{
x.Seek(0, SeekOrigin.Begin);
stream.WriteTo(x);
}
}
以及有问题的方法(我认为):
public async Task<MemoryStream> LoadToStorage(string filename)
{
var localFolder = ApplicationData.Current.LocalFolder;
var storageFile = await localFolder.GetFileAsync(filename);
using (var fileStream = await storageFile.OpenStreamForReadAsync())
{
using (var memoryStream = new MemoryStream())
{
await fileStream.CopyToAsync(memoryStream);
memoryStream.Seek(0, SeekOrigin.Begin);
return memoryStream;
}
}
}
感谢您的帮助
【问题讨论】:
-
问题的真正本质是什么?您已经告诉我们您认为问题可能出在哪里,但没有告诉我们它是什么。
-
当我像这样读取文件时:“var myMyMemoryStream = await mp.LoadFromStorage(myFile); if (_dataContext.ImageNewStream.Length == 0) ...”我有一个例外:'myMyMemoryStream .Length' a levé une exception de type 'System.ObjectDisposedException'
-
好的,所以问题只是我在回答中猜到的问题。
标签: c# windows-phone-8.1 storagefile