用ie下载servlet问题

时间:2009-08-03 06:47:07

标签: java servlets

我需要在java中编写一个下载servlet来从Web服务器下载文件。我按如下方式设置响应参数:

resp.setContentType( (mimetype != null) ? mimetype : "application/octet-stream");
resp.setContentLength( (int)f.length() );
resp.setHeader( "Content-Disposition",
                "attachment; filename=\"" + filename + "\"" );

代码似乎与firefox,chrome和IE7一起使用,但是在IE6中,它在文件名中间添加了“[1]”。例如。 test[1]_check.txt(而不是test_check.txt)。在客户端没有重复的文件副本,我无法理解我哪里出错了。我的响应参数有问题吗?

提前致谢

3 个答案:

答案 0 :(得分:1)

我想我理解这个问题...在创建要下载的文件的文件名时,它是2个字符串的串联,例如:test.pdf_check.txt。

Firefox和Chrome使用相同的名称下载,但IE6在它遇到的第一个扩展名(.pdf)之前插入[1],所以我得到了测试[1] .pdf_check.txt。

我删除了第一个扩展程序,它似乎工作正常。

答案 1 :(得分:0)

检查Temp文件夹:

C:\Documents and Settings\YourUserName\Local Settings\Temp

也许有以前下载文件的副本

答案 2 :(得分:0)

我认为问题不在setHeader()。确定filename的值的代码怎么样?也许价值是连接的?