首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > CAD教程 >

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

2012-02-11 
如何读取ZIP包里的二级或更深层文件夹中的资源?C# codeWebClient wc new WebClient()wc.OpenReadComple

如何读取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");

热点排行