急啊,请大家多多帮忙!!!

AbnerChai 2004-07-16 06:58:13
我们现在用servlet提供下载文件功能,首先servlet读出服务器上的文件,然后用outputstream写到客户端。用浏览器可以正常下载,但用网络蚂蚁等支持多线程的不可以下载,提示说:不支持多线程。只能开一个蚂蚁下载。
请问如何做到支持多线程下载的servlet?我找了很多资料,都没有发现。

多谢大家帮忙,有点急。附下载的servlet代码如下:
if (request.getHeader("User-Agent").indexOf("MSIE 5.5") != -1) {
// MS IE5.5 有要作特別處理
response.setHeader("Content-Disposition",
"filename=" +
new String(filename.getBytes("gb2312"),
"ISO8859_1"));
}
else {
// 非 IE5.5 的 Header 設定方式
response.addHeader("Content-Disposition",
"attachment;filename=" +
new
String(filename.getBytes("gb2312"), "ISO8859_1"));
}

response.setHeader("content-type", "application/RFC822");
response.setHeader("Connection", "close");
response.setHeader("Content-length", filesize + "");

//response.setHeader("Content-Type", "application/octet-stream");

servletoutputstream = response.getOutputStream();
bufferedoutputstream = new BufferedOutputStream(servletoutputstream);

int totalRead = 0;
int blocksize = 4096;
byte[] buffer = new byte[blocksize]; //4k for buffer;

while (totalRead < filesize) {
int readBytes = filein.read(buffer, 0, blocksize);
totalRead += readBytes;
bufferedoutputstream.write(buffer, 0, readBytes);
}
response.setStatus(response.SC_OK );
response.flushBuffer();
}
...全文
93 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
blasterboy 2004-07-19
  • 打赏
  • 举报
回复
你不能弄成多线成,因为你是自己写出来,提供给客户端的,除非你提供给客户的是文件的URL
fuzhe 2004-07-19
  • 打赏
  • 举报
回复
这个问题确实没有见过哦,帮你顶吧
AbnerChai 2004-07-19
  • 打赏
  • 举报
回复
有没有人帮帮我?????
AbnerChai 2004-07-19
  • 打赏
  • 举报
回复
不行啊,用flashget也是一样的。
朋友别哭 2004-07-16
  • 打赏
  • 举报
回复
servlet还能提供下载文件功能啊
学习中
up
umbrella1984 2004-07-16
  • 打赏
  • 举报
回复
是蚂蚁的问题吧,下载个注册版或破解的试下。

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧