php 解析上传apk,php上传apk,ipa解析问题

function processZipFile(file) {

zip.createReader(new zip.BlobReader(file), function (reader) {

reader.getEntries(function (entries) {

z = entries;

var infoplist = null, resoucesArsc = null, androidManifest = null;

for (var i = 0; i < entries.length; i++) {

if (entries[i].filename.match(/Payload\/([^\\\?\/\*\|<>:"]+\.app\/)Info\.plist/)) {

infoplist = entries[i];

continue;

}

if (entries[i].filename.match(/AndroidManifest.xml/)) {

androidManifest = entries[i];

continue;

}

if (entries[i].filename.match(/resources.arsc/)) {

resoucesArsc = entries[i];

continue;

}

}

processZipFileSubmit(infoplist, resoucesArsc, androidManifest);

});

}, function (error) {

console.log(error);

alert("读取安装包信息失败!");

});

}

var uploadFileHandle = function (uploadUrl, fd, callbackSuccess, callbackFail) {

var xhr = new XMLHttpRequest();

xhr.open("POST", uploadUrl, true);

xhr.overrideMimeType("application/octet-stream");

xhr.send(fd);

xhr.onreadystatechange = function () {

if (xhr.readyState == 4) {

if (xhr.status == 200) {

Common.SuccessHandler($.parseJSON(xhr.responseText), callbackSuccess, callbackFail)

} else {

ErrorHandler(xhr.statusText, 0, callbackFail)

}

}

}

};

function processZipFileSubmit(infoplist, resoucesArsc, androidManifest) {

var url = '/AppParser/getAppInfo';

var data = {};

var sys = null;

var icon = null;

if (infoplist != null) {

data.system = "ios";

infoplist.getData(new zip.BlobWriter(), function (blob) {

//修改处理获取ios数据处理xml

var fd = new FormData();

fd.append('type', 'ipad');

fd.append('upFile', blob);

uploadFileHandle(url, fd, function (result) {

sAppName = result.appName;

iVersion = result.version;

icon = result.icon;

ajaxCallBack(icon);

}, function (errMsg, errCode) {

});

});

} else if (resoucesArsc != null && androidManifest != null) {

data.system = "android";

var fd = new FormData();

androidManifest.getData(new zip.BlobWriter(), function (blob) {

//修改处理

fd.append("upFile",blob)

fd.append('type', 'android');

uploadFileHandle(url, fd, function (result) {

sAppName = result.appName;

iVersion = result.version;

icon = "apk";

ajaxCallBack(icon);

}, function (errMsg, errCode) {

});

});

} else {

alert("上传的文件不正确,无法读取!");

return false;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值