IE6 генерировал странное имя листа при экспорте из Java-приложения - PullRequest
0 голосов
/ 10 октября 2008

Я сталкиваюсь с ошибкой типа

test(10)[1].csv file cannot be found at 
C:\Documents and Settings\Ron\Local Settings\Temporary Internet Files\Content.IE5\PQ0STUVW

При попытке сделать экспорт файла CSV, используя следующие коды. У кого-нибудь есть идеи, что может быть не так? Эта проблема не возникает в IE7 / Firefox и относится только к IE6.

response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment;filename=" + fileFullName);

Ответы [ 3 ]

1 голос
/ 06 апреля 2009

Я уже получил эту проблему и задал вопрос , который в качестве правильного ответа (или, скажем так, хороший обходной путь для IE).

0 голосов
/ 09 ноября 2008

Я не совсем уверен, почему имя файла становится ненадежным, но «не найден» в IE обычно означает, что вы также устанавливаете заголовки без кэширования или время кеширования равное нулю секунд

Если я правильно помню, IE не может открыть файл напрямую - он должен сначала его кэшировать, а затем открыть его из кэша. Поэтому вы должны разрешить его кэширование.

Это означает, что: 1. Чтобы все работало правильно, имя файла должно быть уникальным каждый раз - я обычно добавляю метку времени (в миллисекунду) к имени файла.

  1. Чтобы избежать ненужного роста кешей ваших клиентов, вам, вероятно, следует установить время кеширования коротким (1 или 2 секунды или около того), но определенно не равным 0;
0 голосов
/ 15 октября 2008

Есть ли в вашем fileFullName "специальные" символы? Вы также пытаетесь проверить длину имени вашего файла, у меня однажды была проблема с IE6, когда имя файла стало слишком длинным.

Просто чтобы быть в безопасности: ваше «fileFullName» содержит только имя файла, а не путь, верно?

...