13.【原创】JS读取apk安装包的信息,作应用上传

最近接到一个需求:在后台管理平台集成安卓app包上传功能,要求可以读出apk包的图标,包名,版本号等信息。前端

因而上网查了一下相关资料。发现大部分都是使用accept这个模块插件实现的。查了一下其相关文档,仍是不够简洁,有点麻烦。后来终于找到了一个比较好用的第三方node模块,并且还能够单独提取js文件用于前端解析。node

地址:https://github.com/chenquincy/app-info-parsergit

前端引入下图所指的文件,参照示例便可。github

示例:npm

须要注意的是,这个模块是已经在npm上作了托管的,若是后台使用node的话,也是能够使用的哟(PS:不支持IE浏览器)。浏览器

在开发中还有一点须要注意的是,这个插件读取图标的时候,读取的是base64的编码格式,若是要作图片上传,要么就得在服务器端转成图片文件,要么在前端直接转成图片以后再上传。我采用的是在前端转换。方法以下:服务器

/* base64格式图片转换为文件 */
function dataURLtoFile(dataurl, filename = 'file') {
    var arr = dataurl.split(',')
    var mime = arr[0].match(/:(.*?);/)[1]
    var suffix = mime.split('/')[1]
    var bstr = atob(arr[1])
    var n = bstr.length
    var u8arr = new Uint8Array(n)
    while (n--) {
        u8arr[n] = bstr.charCodeAt(n)
    };
    return new File([u8arr], `${filename}.${suffix}`, {
        type: mime
    });
};
相关文章
相关标签/搜索