загрузить файл с помощью Tomcat - PullRequest
0 голосов
/ 21 октября 2011

Использование Tomcat и Struts 2.

public FileAction class
{ 
    ......
    public upload()
    {
        .....   
        String fullFileName = request.getContextPath() + "/productImages/" + filename;
        File theFile = new File(fullFileName);
        FileUtils.copyFile(upload, theFile);
        .....
    }
 }

Проблема в том, что когда я загружаю изображение, оно не добавляет изображение в localhost:8085/shoppingCart/productImages, а также не дает никаких исключений.

Но когда я напишу String fullFileName="c:upload/productImages/" + filename;, он сохранит файл на c:upload/productImages/ path

означает нормальную работу в c:upload/productImages/ случае

1 Ответ

1 голос
/ 21 октября 2011

Если вы хотите, чтобы файл был загружен в контекст сервера, вам нужно использовать ServletContext.getRealPath(...), чтобы найти базовый каталог развернутого приложения. Обратите внимание, что не будет работать, если вы развертываете файл войны. Загруженные файлы должны быть в абсолютном месте на самом сервере.

Для загрузки загруженного изображения вы должны записать результат потока (поскольку вы используете Struts 2) и использовать его для загрузки и потоковой передачи загруженного файла обратно клиенту.

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