js解析上传APK文件的详细信息
前端解析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('文件格式不正确');
}
},
js解析上传APK文件的详细信息的更多相关文章
- 基于 jq 实现拖拽上传 APK 文件,js解析 APK 信息
技术栈 jquery 文件上传:jquery.fileupload,github 文档 apk 文件解析:app-info-parser,github 文档 参考:前端解析ipa.apk安装包信息 - ...
- JS原生上传大文件显示进度条-php上传文件
JS原生上传大文件显示进度条-php上传文件 在php.ini修改需要的大小: upload_max_filesize = 8M post_max_size = 10M memory_li ...
- js+分布上传大文件
文件夹上传:从前端到后端 文件上传是 Web 开发肯定会碰到的问题,而文件夹上传则更加难缠.网上关于文件夹上传的资料多集中在前端,缺少对于后端的关注,然后讲某个后端框架文件上传的文章又不会涉及文件夹. ...
- django 解析上传xls文件
1.解析上传数据 class DataUploadAPIView(APIView): # authentication_classes = (JSONWebTokenAuthentication, S ...
- js获取上传的文件并用ajax提交
<form id="form1" name="form1" encType="multipart/form-data" method= ...
- js分片上传大文件,前端代码
首先导入jQuery.form.js文件,下面src是相对于改js文件位置, <script type="text/JavaScript" src="jquery/ ...
- python发送post请求上传文件,无法解析上传的文件
前言 近日,在做接口测试时遇到一个奇葩的问题. 使用post请求直接通过接口上传文件,无法识别文件. 遇到的问题 以下是抓包得到的信息: 以上请求是通过Postman直接发送请求的. 在这里可以看到消 ...
- Java 用jxl读取excel并保存到数据库(此方法存在局限,仅限本地电脑操作,放在服务器上的项目,需要把文件上传到服务器,详细信息,见我的别的博客)
项目中涉及到读取excel中的数据,保存到数据库中,用jxl做起来比较简单. 基本的思路: 把excel放到固定盘里,然后前段页面选择文件,把文件的名字传到后台,再利用jxl进行数据读取,把读取到的数 ...
- js获取上传的文件名称
<input name="file_" type="file" id="file_" size="100" /&g ...
- tornado上传大文件以及多文件上传
tornado上传大文件问题解决方法 tornado默认上传限制为低于100M,但是由于需要上传大文件需求,网上很多说是用nginx,但我懒,同时不想在搞一个服务了. 解决方法: server = H ...
随机推荐
- Axure 变量、属性、函数
局部变量 使用场景非常多; 需要先创建; 只能作用于当前事件; 命名需要注意,只能英文+数字; 全局变量 需要先创建; 可以作用于整个文档,在任意页面调用或使用 中继器的 Item 属性 item:获 ...
- anaconda学习(未完成)
1.Anaconda安装教程(以32.7.4为例)官网地址:https://www.anaconda.com/download(如无法下载可跳转清华源下载)下载完成后点击打开即可安装点击Next选择I ...
- SpringBoot 项目实战 | 瑞吉外卖 Day01
一.软件开发整体介绍 1.软件开发流程 2.角色分工 项目经理:对整个项目负责,任务分配.把控进度 产品经理:进行需求调研,输出需求调研文档.产品原型等 UI设计师:根据产品原型输出界面效果图 架构师 ...
- 汇编 | CPU物理地址本质理解
物理地址 我们知道,CPU访问内存单元时,要给出内存单元的地址.所有的内存单元构成的存储空间是一个一维的线性空间,每一个内存单元在这个空间中都有唯一的地址,我们将这个唯一的地址称为物理地址. CPU通 ...
- 【每日一题】35. [CQOI2009]中位数图 (前缀和,贡献值计算)
补题链接:Here 算法涉及:前缀和,贡献值计算 经典中位数计数问题,记得以前百度之星也出过类似的题,这道题有一个限定范围是要奇数区间的 我们很容易想到,奇数下标到偶数下标或者偶数下标到奇数下标的长度 ...
- 前端科普系列(2):Node.js 换个角度看世界
本文首发于 vivo互联网技术 微信公众号 链接: https://mp.weixin.qq.com/s/fPNMaeNYgU3eJsh0SLMRRg作者:孔垂亮 [前端科普系列]往期精彩内容: &l ...
- 入门篇-其之十一-流程控制之break和continue关键字
本文中使用到的工具是Intellij IDEA和JDK 8,需要安装两款工具的请查看这两篇教程:点我查看安装JDK8/11/17教程.点我查看安装Intellij IDEA教程. 一.循环的嵌套 和前 ...
- 3D编程模式:开篇
大家好~现在开始新的系列文章:3D编程模式系列 本系列会介绍从我的实际开发经验中抽象提炼出来的编程模式,大家可直接应用它们到3D引擎开发.编辑器开发等领域中 相关资料: 课程录像回放 代码和课程ppt ...
- 实现不限层级的Element的NavMenu
做管理后台开发的时候,需要用到Element的NavMenu组件,于是乎,翻开文档,大致是这样实现的. <el-menu> <el-menu-item index="1&q ...
- C# Redis的五大数据结构相关操作及应用场景
Cache和NoSql.Redis ServiceStack.Redis 下面额代码类均是通过 ServiceStack.Redis 来对Redis进行各种操作 redis 文件配置类 /// < ...