Аз съм наистина нов за Spring и Spring MVC и азработи върху някаква програма за тестване, която качва файл, го записва в временната работна директория на сървета и след това предава този файл на останалата част от програмата (която е променлива променлива работа и работи добре). като разбере как да се получи местоположението на временния файл в моя контролер, използван за конфигуриране на Spring's DispatcherServlet.
Кодът, който видях онлайн, за да получи временно местоположението на файла, е следният:
File directory = (File)getServletContext().getAttribute("javax.servlet.context.tmpdir");
File file = File.createTempFile("prefix", ".tmp", directory);
FileWriter out = new FileWriter(file);
Но от това, което съм виждал досега, не е възможно да използвам getServletContext в класа на контролера, който използвам за конфигуриране на сървлета.
Всеки съвет за това как да получа това, което искам, или по други начини да се справя с това, е много ценен. Ако имате нужда от повече подробности, просто попитайте.
Отговори:
2 за отговор № 1Опитвахте ли се да инжектирате ServletContext
в контролера си с @Autowired
анотация и достъп до него във вашия метод.
class XController {
@Autowired
private ServletContext servletContext;
}