【1】打包为微信小程序时实现文件下载
如果是H5或者web平台,那么一个a标签通过href就可以实现下载。但是这个对于微信小程序来说是不生效的,在打包过程中会对标签进行转换。下面我们之间上代码。
HTML
<view class="text" >
<a v-bind:key="index" v-if="zuoyeList.length>0" v-bind:data="baseUrl+item" :href="baseUrl+item" v-for="(item,index) in zuoyeList" @click.stop="downloadWX(item)" style="margin-right: 2px;">
{{'作业'+(index+1)}}
</a>
<span v-else>暂无作业</span>
</view>
JS
downloadWX(url){
let _this = this;
url=_this.$base.url + url;
console.log("当前要下载的url:",url);
uni.downloadFile({
url: url,
success: (res) => {
if (res.statusCode === 200) {
//保存图片到系统相册
uni.showLoading({
title: '下载中:',
mask: true
})
uni.saveImageToPhotosAlbum({
filePath: res.tempFilePath,
success: function() {
uni.hideLoading();
uni.showToast({
title: "已成功下载",
icon: "none"
});
},
fail: function() {
uni.showModal({
content:"因您拒绝了授权,如需再次授权请前往设置手动授权!是否前往设置?",
cancelText:"不用了",
confirmText:"立即前往",
success(res){
if(res.confirm){
uni.openSetting({
success(res){
if(res.authSetting){
console.log(res.authSetting)
}
}
})
}
}
})
return
}
});
}
}
})
}
得到的效果如下图所示(帮一个同学改毕设):