大家好,这个名叫stackoverflow的好城市的大家好。 我带着一个我似乎无法解决的问题来找你。
我的问题是我在vs2015中使用xamarin表单开发应用程序。 在这个应用程序中,我从网络服务下载一些压缩数据(图像/音频)并将其保存到我的手机与nuget PCLStorage和(需要时)解压缩文件显示/播放。
使用" Debug"该应用程序正常工作模式,但当我将应用程序打包为apk并将其安装在我的手机上时,我抛出"对象引用未设置为对象的实例"当我尝试用ziparchive打开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
}
}
}
在我身上行的是使用(ZipArchive zip = .....)行抛出异常
答案 0 :(得分:0)
这很难说,但我将推测文件许可问题。它在哪里下载文件,Android App是否具有访问该文件位置的适当权限。
答案 1 :(得分:0)