【发布时间】:2015-11-02 08:39:24
【问题描述】:
大家好,在这个名为 stackoverflow 的伟大城市中的聪明人。 我来找你有一个我似乎无法弄清楚的问题。
我的问题是我正在开发一个在 vs2015 中使用 xamarin 表单的应用程序。 在这个应用程序中,我从网络服务下载了一些压缩数据(图像/音频),并使用 nuget PCLStorage 将其保存到我的手机中,并(在需要时)解压缩文件以显示/播放。
应用程序在使用“调试”模式时运行良好,但是当我将应用程序打包为 apk 并将其安装在手机上时,当我尝试打开 zip 文件时抛出“对象引用未设置为对象实例”带压缩存档 CheckExistsaAsync 告诉我文件存在,await DisplayAlert 告诉我流的长度与保存文件时的长度相同。在调试模式下运行时,它也与文件长度相同。
这是我失败的代码:
IFolder rootFolder = FileSystem.Current.LocalStorage;
if(await rootFolder.CheckExistsAsync("SavedData.zip") == ExistenceCheckResult.FileExists)
{
IFile file = await rootFolder.GetFileAsync("SavedData.zip");
using(Stream s = await file.OpenAsync(FileAccess.Read))
{
await DisplayAlert("blabla", s.Length.ToString(), "ok");
using(ZipArchive zip = new ZipArchive(s, ZipArchiveMode.Read, false))
{
//Code
}
}
}
我失败的那一行是 using(ZipArchive zip = .....) 抛出异常的那一行
【问题讨论】:
标签: zip xamarin.forms