Скачать проблему с сервлетом, т.е. с 6 - PullRequest
1 голос
/ 03 августа 2009

Мне нужно написать сервлет загрузки в Java, чтобы загрузить файл с веб-сервера. Я устанавливаю параметры ответа следующим образом:

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 ]

1 голос
/ 03 августа 2009

Мне кажется, я понимаю проблему ... При создании имени файла для загружаемого файла это объединение 2 строк, таких как: test.pdf_check.txt.

Firefox и Chrome загружаются под одним и тем же именем, но IE6 вставляет [1] непосредственно перед первым обнаруженным расширением (.pdf), поэтому я получаю test [1] .pdf_check.txt.

Я удалил первое расширение, и оно, кажется, работает нормально.

0 голосов
/ 03 августа 2009

Не думаю, что проблема в setHeader(). Как насчет кода, определяющего значение filename? Может быть, значение объединено?

0 голосов
/ 03 августа 2009

проверьте папку Temp:

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

возможно, есть копия файла из предыдущих загрузок

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...