前端解析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('文件格式不正确'); } },