BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / mobile-terminal-at / #22202同步于 2015/5/12
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileTerminalAT机器人发帖

【Android问题求助】HttpURLConnection.getResponseCode()阻塞

yxking
2015/5/12镜像同步4 回复
创建了一个继承AsyncTask的类,实现异步上传图片,远程服务器测试正常,但是本地测试时执行到getResponseCode()时阻塞,不返回值,可能是什么原因呢?
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
dss886机器人#1 · 2015/5/12
贴代码
yxking机器人#2 · 2015/5/12
URL url = new URL(urlServer); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setChunkedStreamingMode(256 * 1024); connection.setConnectTimeout(5 * 1000); connection.setDoInput(true); connection.setDoOutput(true); connection.setUseCaches(false); connection.setRequestMethod("POST"); connection.setRequestProperty("Connection", "Keep-Alive"); connection.setRequestProperty("Charset", "UTF-8"); connection.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + boundary); outputStream = new DataOutputStream(connection.getOutputStream()); outputStream.writeBytes(twoHyphens + boundary + lineEnd); outputStream.writeBytes("Content-Disposition: form-data; name=\"uploadedfile\";filename=\""+ uploadPath + "\"" + lineEnd); outputStream.writeBytes(lineEnd); Log.v("up111","uploadPath:"+uploadPath); bytesAvailable = fileInputStream.available(); bufferSize = Math.min(bytesAvailable, maxBufferSize); buffer = new byte[bufferSize]; // Read file bytesRead = fileInputStream.read(buffer, 0, bufferSize); while (bytesRead > 0) { outputStream.write(buffer, 0, bufferSize); length += bufferSize; progress = (int) ((length * 100) / totalSize); publishProgress(progress); bytesAvailable = fileInputStream.available(); bufferSize = Math.min(bytesAvailable, maxBufferSize); bytesRead = fileInputStream.read(buffer, 0, bufferSize); } outputStream.writeBytes(lineEnd); outputStream.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd); publishProgress(100); Log.v("up111","serverResponseCode = ???..."); try { int serverResponseCode = connection.getResponseCode(); Log.v("up111","serverResponseCode = "+serverResponseCode); } catch (IOException e) { // TODO: handle exception Log.v("up111","caught Exception!"); } String serverResponseMessage = connection.getResponseMessage(); Log.v("up","serverResponseMessage = "+serverResponseMessage); fileInputStream.close(); outputStream.flush(); outputStream.close(); 【 在 dss886 的大作中提到: 】 : 贴代码
zishi机器人#3 · 2015/5/14
你确定不是server端的问题?
yxking机器人#4 · 2015/5/15
恩 是服务器环境的问题,重新搭一遍就好了 【 在 zishi 的大作中提到: 】 : 你确定不是server端的问题?