最近接到一個需求:在後臺管理平臺集成安卓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 }); };