前端解析APK版本信息
需要安装这个包,可以使用cnpm或者npm
npm 安装 app-info-parser ( 命令:npm install app-info-parser)
APKInfo为input上传文件的file对象。
html代码
:http-request="uploadFile" 文件自定义上传
使用的是elementui
drag拖拽
<el-upload
class="upload-demo"
drag
:show-file-list="hideFile"
:action="bgImgUpUrl"
:http-request="uploadFile"
:multiple="multipleFlag">
<i class="iconfont icon-template"></i>
<div class="el-upload__text">
<a class="p-p">点击或将文件拖拽到这里上传</a>
<br/>
<a class="a-a">支持扩展名:.APK</a>
<br/><a>{{File_info}}</a>
</div>
<div class="el-upload__tip" slot="tip"></div>
</el-upload>
hideFile:false,//隐藏上传文件信息
bgImgUpUrl:this.$dynamicAppConfig.uploadUrl + this.$dynamicAppConfig.fileAction,//文件上传的地址
multipleFlag:false,//不需要多文件上传
引入包文件
const AppInfoParser=require("app-info-parser")
//这个就文件自定义上传
uploadFile(params) {
//获取文件的后缀
var fileName =params.file.name;
var fileArr = fileName.split('.');
var fileType=fileArr[fileArr.length-1];
//判断文件后缀是否正确
if(fileType=='apk'){
// 文件上传 不需要管这一段,这是我的逻辑
this.File_info="正在上传中..."
this.$api.fileUpload({
file: params.file
}).then(fileres => {
if(fileres.success==true){
console.log( fileres)
this.appupload_params.downLoadUrl=fileres.data;
this.File_info='上传成功';
}else{
this.File_info='上传失败';
}
})
// 解析apk信息(这里很重要)
//params.file 是这个文件对象
const parser = new AppInfoParser(params.file)
// parser.parse().then();是这个插件提供的方法,注意不要写错了
parser.parse().then(result => {
console.log("apk解析后的信息",result )
}).catch(err => {
console.log('err ----> ', err)
})
}else{
this.$message.error('文件格式不正确');
}
},