while ((nReaded = is.read(buffer)) > 0 && nLeftLength > 0) {}
这个逻辑不对,如果nLeftLength = 0,那就是已经读完了,但是还是执行 read,那就阻塞了。
应该改成这样
while (nLeftLength > 0 && (nReaded = is.read(buffer)) > 0) {}
这个逻辑不对,如果nLeftLength = 0,那就是已经读完了,但是还是执行 read,那就阻塞了。
应该改成这样
while (nLeftLength > 0 && (nReaded = is.read(buffer)) > 0) {}
2016-07-24
讲师回答 / 大S酱
应该是远端post的流里没有数据了但是nleftLength>0一直为true,导致尝试读取阻塞在这里,也就是实际上传的尺寸小于提取的Content-Length大小,可以跟一下这块数据另我已经把项目代码上传到网盘上,方便大家参考:https://pan.baidu.com/s/1slaiEpJ
2016-07-23