专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Silverlight

怎么读取ZIP包里的二级或更深层文件夹中的资源

发布时间:2011-06-27 20:15:14 文章来源:www.iduyao.cn 采编人员:星星草
如何读取ZIP包里的二级或更深层文件夹中的资源?
C# code

WebClient wc = new WebClient();
            wc.OpenReadCompleted += new OpenReadCompletedEventHandler(wc_OpenReadCompleted);
            wc.DownloadProgressChanged += new DownloadProgressChangedEventHandler(wc_DownloadProgressChanged);
            wc.DownloadStringCompleted += new DownloadStringCompletedEventHandler(wc_DownloadStringCompleted);
            wc.OpenReadAsync(new Uri(@"demo.zip", UriKind.Relative), "demo.jpg");


void wc_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
        {
            String sURI = (e.UserState as String);
            StreamResourceInfo sri = new StreamResourceInfo(e.Result, null);
            StreamResourceInfo imageStream = Application.GetResourceStream(sri, new Uri(sURI, UriKind.Relative));
            BitmapImage imgsrc = new BitmapImage();
            imgsrc.SetSource(imageStream.Stream);
            T_Image.Source = imgsrc;
        }



上面这段代码,当ZIP里直接就是资源列表,不含二级文件夹的时候,可以正确读取所要的资源,可是一旦ZIP包里含二级目录或多级目录时,读取这些子目录里的资源好象就读不出来,/ \ 等都试过都读不出来,求解!!

------解决方案--------------------
测试通过,代码没有问题,二级或多级文件夹下均能访问。
需要注意,读取zip中的资源文件,不需要添加/ \,例如zip包中包含一个Image/demo.jpg
只需要这样写即可得到
 wc.OpenReadAsync(new Uri(@"demo.zip", UriKind.Relative), "Image/demo.jpg");
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: