最近更新后下载出现问题,用户反应下载文件后没法打开,没更新之前是可以的。OA正式代码太多,以下是测试代码,测试发现后:状态200,但下载的文件本地并没有存在,导致打不开。请问是否哪里设置权限问题被拦截?
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="css/mui.min.css" rel="stylesheet" />
<script src="js/mui.min.js" type="text/javascript" charset="utf-8"></script>
<style type="text/css">
</style>
</head>
<body>
<header class="mui-bar mui-bar-nav">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
<h1 class="mui-title">测试</h1>
</header>
<div class="mui-content mui-content-padded">
<button type="button" class="mui-btn mui-btn-blue mui-btn-block" onclick="downloadFile();">下载测试</button>
</div>
<script type="text/javascript">
mui.init();
mui.plusReady(function () {
})
function downloadFile() {
var dtask = plus.downloader.createDownload(
"http://1.hnsf.applinzi.com/test.docx",
{}, //本地保存路径
function(d, status) {
if(status == 200) {
console.log(d.filename)
//转为绝对路径
// var absolutePath = plus.io.convertLocalFileSystemURL(d.filename);
// console.log(absolutePath)
plus.runtime.openFile(d.filename);
} else {
console.log("失败")
plus.nativeUI.alert("Download failed: " + status, "AlertCallBack()", "系统提示", "确定");
}
}
);
dtask.start();
}
</script>
</body>
</html>
Angelbeats (作者)
找到部分原因了,但是为什么这个测试文件之前不可以我不懂。 原因:更新后对 下载中的一个参数改变了要求,{filename: "_downloads/d"+文件名}这样就行了。 路径必须写清楚是_downloads或者_doc/之类的开头,api文档也有说,之前我的写法是:{filename: "d"+文件名},也就是没指名_downloads/等这些开头,但是之前的版本是支持的。 但是不懂为什么今天一直在测上面发的测试代码不行,路径也没指定,默认值,所以应该是编辑器问题。
2017-10-12 20:16