如何在android中设置内容长度?

我希望通过服务器客户端JSP页面中的request.getContentLength()获取内容大小。 但是request.getContentLength()总是返回-1,我不是为什么?

Android代码段:

 URL uri = new URL(actionUrl); HttpURLConnection conn = (HttpURLConnection) uri.openConnection(); //conn.setChunkedStreamingMode(100); conn.setConnectTimeout(setTimeOut>0?setTimeOut:timeoutConnection); conn.setReadTimeout(setTimeOut>0?setTimeOut:timeoutConnection); conn.setDoInput(true); conn.setDoOutput(true); conn.setUseCaches(false); conn.setRequestMethod("POST"); conn.setRequestProperty("Connection", "keep-alive"); //conn.setRequestProperty("content-length", "10"); //conn.addRequestProperty("content-length", "20"); conn.setFixedLengthStreamingMode(30); conn.setRequestProperty("Charsert", ENCODING); conn.setRequestProperty("Content-Type", "multipart/form-data" + ";boundary=" + java.util.UUID.randomUUID().toString()); conn.connect(); 

您正在使用conn.setChunkedStreamingMode(100) ,当内容长度事先未知时,它将以100字节的块有效地启用分块传输编码 。

如果您事先知道要在请求正文中发送的内容的长度,请使用conn.setFixedLengthStreamingMode(int len) 。