文件上传在服务器,客户端要打开该文件我的解决方法是先下载文件然后调用本地安装的相关应用打开(比如OFFICE等):
function openRemoteFile(url){
var wait = plus.nativeUI.showWaiting("正在打开文件...");
var dtask = plus.downloader.createDownload(url, {method: "GET"}, function(d, status) {
if (status == 200) {
plus.runtime.openFile(d.filename, {}, function(e){
wait.close();
mui.alert( "无法打开此文件:"+e.emssage,"我的软件" );
});
wait.close();
} else {
wait.close();
mui.alert("文件打开失败: " + status, "我的软件");
}
});
dtask.start();
}
以上代码可以正常运行,但运行时有两个问题(第2个问题在打包后真机运行时出现):
1、createDownload中的options里面根据HTML5+文件是可以设置文件路径的,但设计后无效,无论是用绝对路径,还是用plus.io.requestFileSystem( plus.io.PRIVATE_DOC,……)等取相对路径,都没办法实现。
2、目前我只能不带路径参数,使用默认值,然后调用对象取得路径,再用openFile打开(如上代码所示),系统会调用默认程序打开文档,但问题在于第二次打开时就会报错了。(页面有一个链接,调用openRemoteFile,第一次点击运行正常,第二次点击就找不到文件了)。
现在主要是第2个问题要解决,求大神指教……
2 个回复
bluesea
楼主问题解决没?现在也碰到这个问题了
lxl
文档里不是说路径只能用_doc之类的开头嘛