У меня есть некоторая неясная проблема, но я постараюсь объяснить все возможное.
У нас есть URL-адреса, сопоставленные с использованием SpringMVC, чтобы при выполнении запроса POST загрузка могла быть инициирована.Например, запрос
POST /request/bobby.html {POST variables:id=5}
вызовет загрузку файла CSV, связанного с идентификатором 5. Проблема заключается в том, что в IE это дает вам возможность открыть или сохранить как.Выбор Open откроет файл CSV, как и предполагалось в MS Excel, но временный файл будет называться bobby.html.Когда пользователь оставляет Excel открытым и пытается загрузить другой идентификатор (скажем, 6), фокус меняется на Excel, но, поскольку запрос по-прежнему указывает на bobby.html, файл не обновляется.Вы должны закрыть файл в Excel, прежде чем новый файл с тем же именем сможет занять его место, но нет сообщения, чтобы сказать пользователю закрыть старый файл.
В идеале, я хочу, чтобы имя файлаизменился, но используемый сервлет Spring был привязан специально к * .html файлам только потому, что у нас есть другие приложения, работающие в том же контейнере с другими расширениями.
Я попытался добавить UUID в запрос, просто чтобы сделать егоВыглядит иначе, чем в Excel / IE, и это работает до некоторой степени ...
POST /request/bobby.html?uuid=<uuid> {POST variables:id=6}
делает его похожим на IE, но Excel по-прежнему сохраняет базовый запрос в качестве имени файла.Это позволило получить предупреждение, но сообщение пользователю о том, что его файл называется «bobby.html» и что он не может открыть другое, может быть более запутанным, чем вообще отсутствие предупреждения.
Я также пытался добавитьчто-то в конце:
POST /request/bobby.html/<uuid> {POST variables:id=6}
Есть идеи, как заставить это работать?Я знаю, что подобные вещи можно реализовать в SpringMVC, но есть ли способ заставить их работать с отображениями сервлетов?
Заранее спасибо.