背景是这样
在参考论坛大大的更新方案
http://www.cocoachina.com/bbs/read.php?tid=213257
(可以直接进贴搜索 crypto.md5 )
然后我再自己试验的时候,发现读取网络上下载的文件内容,生成的MD5值,
对比按照文件路径 CCCrypto:MD5File 生成MD5值是不一样的。
大神可以指点下吗?
不知道和这位兄弟的问题是不是一样的
http://www.cocoachina.com/bbs/read.php?tid=210256
function MyApp:_requestFromServer()
local url = "http://192.168.1.3/upd/framework_precompiled.zip"
local request = CCHTTPRequest:createWithUrl(function(event)
self:_onResponse(event)
end, url, kCCHTTPRequestMethodGET)
if request then
request:setTimeout( 60)
request:start()
else
--初始化网络错误
self._updateRetType = UpdateRetType.NETWORK_ERROR
end
end
function MyApp:_onResponse(event, requestType)
local request = event.request
if event.name == "completed" then
local dataRecv = request:getResponseData()
local md5Code = CCCrypto:MD5(dataRecv, false)
printf("接受成功")
self.writefile("scripts/test.zip",dataRecv)
local fileMd5Code = CCCrypto:MD5File("scripts/test.zip")
printf(md5Code)
printf(fileMd5Code)
end
end
function MyApp.writefile(path, content)
local file = io.open(path, "w+b")
if file then
if file:write(content) == nil then return false end
io.close(file)
return true
else
return false
end
end
官方例子,2048里面,有个将读取到的数据处理一下的代码
结果还是不一致,难道是getResponseData 返回格式的问题?
local function hex(s)
s=string.gsub(s,"(.)",function (x) return string.format("%02X",string.byte(x)) end)
return s
end