|
楼主 |
发表于 2016-3-16 09:09:53
|
显示全部楼层
本帖最后由 1350808883 于 2016-3-16 09:11 编辑
版主回复得这么快,点赞!
最初文件打开就是用平台上的rg.apache.cordova.file-opener2插件来做的,在安卓上都可以正常运行,不过到了IOS上打开文件时,执行到该段代码就直接退出应用了,在SAFARI调试也同时退出,所以看不到什么错。后来就尝试用HTML5的FileSystem API来做,发现safari就不支持。这里直接贴上原来调用插件的代码吧,如下:
Model.prototype.openFile = function(event){
//获取点击的文件名称
var attachName =event.bindingContext.$object.val("id")+"_"+ event.bindingContext.$object.val("attachName");
//拼接文件所在位置字符串,this.fileDir为一固定值
var uri = "cdvfile://localhost/persistent/"+this.fileDir+"/"+attachName;
var contentType = attachName.substring(attachName.indexOf(".")+1,attachName.length);
//进入这行后,IOS下直接闪退,安卓系统则可以成功打开
cordova.plugins.fileOpener2.open(uri, MIMEType.getMIMETypeFromExtension(contentType), {
error : function(errorObj) {
if(errorObj.status==9){
justep.Util.hint('找不到文件,请重新下载文件。');
return;
}
justep.Util.hint('Error status: ' + errorObj.status + ' - Error message: ' + errorObj.message);
},
success : function() {
console.log("调用插件成功.");
}
});
};
|
|