`
dreamoftch
  • 浏览: 500442 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

HttpURLConnection setChunkedStreamingMode()

阅读更多

在使用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);

 

 

分享到:
评论

相关推荐

    HttpURLConnection servlet 多文件参数 断点上传

    `HttpURLConnection`提供了`setFixedLengthStreamingMode()`和`setChunkedStreamingMode()`方法,分别用于定长和不定长的流式上传。 在实际应用中,我们还需要考虑错误处理和重试机制,例如网络中断、超时等情况。...

    Java实现HTTP连接与浏览,Java源码下载.zip

    9. **断点续传**:在处理大文件下载时,可能需要用到断点续传功能,这需要保存当前已下载的字节数,然后在后续请求中设置合适的`setFixedLengthStreamingMode()`或`setChunkedStreamingMode()`。 10. **HTTP缓存**...

    Android文件断点下载

    3. **设置请求范围**:使用HttpURLConnection的`setFixedLengthStreamingMode()`或`setChunkedStreamingMode()`方法来指定下载范围。对于断点下载,我们需要设置`Range`请求头,值形如`bytes=startOffset-endOffset`...

    Android异步上传图片到PHP服务器

    httpURLConnection.setChunkedStreamingMode(128 * 1024); // 设置流大小 httpURLConnection.setDoInput(true); httpURLConnection.setDoOutput(true); httpURLConnection.setUseCaches(false); ...

    Android上传文件到服务端并显示进度条

    同时,为了支持文件分块上传,我们可以设置`setChunkedStreamingMode`方法,以指定每个数据块的大小,这样可以在上传过程中实时计算已上传的百分比。 在`AsyncTask`中,我们通常会进行网络操作,因为它可以异步执行...

    ListView 显示 在线新闻,网络实时更新

    同时,利用`HttpURLConnection`的`setChunkedStreamingMode()`进行分块传输,减少内存占用。 最后,为了提高用户体验,应添加下拉刷新和上拉加载更多功能。这可以通过集成第三方库,如SwipeRefreshLayout和...

    android 选择文件上传至服务器 包含服务器代码

    - 在Android客户端,可以使用`HttpURLConnection`的`setFixedLengthStreamingMode()`或`setChunkedStreamingMode()`来设置上传模式。 5. **服务器端处理**: - 服务器端通常使用Servlet来接收文件,这里使用了...

    Android为Http设置证书(用户名和密码)

    如果使用HttpURLConnection,可以在打开连接后设置`setFixedLengthStreamingMode()`或`setChunkedStreamingMode()`,然后在`setRequestProperty()`中添加认证头。 4. **处理安全性和最佳实践**: - **HTTPS优先**...

    Android Volley扩展实现支持进度条的文件上传功能

    对于大文件,我们可以设置`setFixedLengthStreamingMode(long l)`或`setChunkedStreamingMode(int chunkSize)`方法,以分块传输数据,避免一次性加载所有数据导致的内存溢出。 扩展Volley以支持文件上传和进度条...

Global site tag (gtag.js) - Google Analytics