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
    });
};
相關文章
相關標籤/搜索