在使用HttpURLConnection.setChunkedStreamingMode()的时候,设定了块大小为:10240,也就是10K,
然而很偶然的发现,再上传大部分文件的时候正常,但是上传一个800K作用的文件时,上传之后,打开时文件时损坏的了
将块的大小改一个值,例如1024*1024,就解决了。。。表示很操蛋。。。
后来发现是处理流的地方有问题。
下面是完整的httpurlconnection的使用:
URL u = new URL(url);
HttpURLConnection conn = (HttpURLConnection) u.openConnection();
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setUseCaches(false);
conn.setRequestMethod("POST");
conn.setRequestProperty("Connection", "Keep-Alive");
conn.setRequestProperty("Charsert", "UTF-8");
conn.setRequestProperty("Cookie", "JSESSIONID="+paramObj.getKey());
conn.setConnectTimeout(5000);
conn.setReadTimeout(5000);
//指定流的大小,当内容达到这个值的时候就把流输出
conn.setChunkedStreamingMode(20*1024);
BufferedOutputStream out = new BufferedOutputStream(conn.getOutputStream(),20480);