silverlight中如何缓存图片
请教个问题,SL项目是这样的:根据图片上的文字录入资料。一个任务一张图片,做完一个任务之后会切换到下一个。从服务器上接收一个任务就会有一张图片。图片小的几KB,大的八九十KB。我想把这些图片存在客户端的某个地方。比如 我的文档什么的,程序退出时再把这些图片删除。请问这个该这么实现呢???查了下有IsolatedStorageFile这个类,它能实现这个功能吗?
[解决办法]
//存入文本文件
IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication();
IsolatedStorageFileStream sfs = iodir.CreateFile('文件名');
using (StreamWriter sw = new StreamWriter(sfs))
{
sw.WriteLine("文件内容");
}
sfs.Close();
//读取文本文件
IsolatedStorageFile iodir = IsolatedStorageFile.GetUserStoreForApplication();
if (iodir.FileExists("文件名"))
{
StreamReader sr = new StreamReader(iodir.OpenFile(file, FileMode.Open, FileAccess.Read));
string s = sr.ReadToEnd(); //文件内容
sr.Close();
}
至于图片或其它文件的存储,也是同理,例如要将stream(图片或其它格式):
存入:
IsolatedStorageFile iodir = IsolatedStorageFile.GetUserStoreForApplication();
IsolatedStorageFileStream sfs = iodir.CreateFile("文件路径"); //如果含多级目录,需要检测是否存在路径,不存在则一层层创建目录
int imgLen = (int)stream.Length;
byte[] b = new byte[imgLen];
stream.Read(b, 0, b.Length);
stream.Seek(0, SeekOrigin.Begin);
sfs.Write(b, 0, imgLen);
sfs.Flush();
sfs.Close();
详细应用查一下MSDN或搜索一下就有了
[解决办法]
如果你知道这张图片的路径 就可以采用读取流的方式获取这张图片