загруженный файл не сохранен в каталоге веб-контента - PullRequest
0 голосов
/ 22 марта 2012

Я разрабатываю и использую Eclipse IDE. Мое приложение имеет функцию загрузки файлов.

Я могу добиться того, как загрузить файл, а также сохранить его. Но проблема в том, что загруженный файл не был сохранен в моем каталоге динамических веб-проектов.

Файл загружен в магазин get store в каталог моего сервера с папкой .metadata, имеющей путь

Файл: /// E: /workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/

Я хочу сохранить свою загруженную папку в моей папке Webcontent, в которой есть папка для загрузки с папкой изображений, например WebContent/upload/images.

Без сомнения, я могу просмотреть файл изображения, но путь, который я хочу, похож на приведенный выше. код ниже, который я использую для хранения загруженного файла

@RequestMapping(value = "/company/UploadFile.action", method = RequestMethod.POST)
    public @ResponseBody String uploadFile(FileUploadBean uploadItem, BindingResult result,HttpServletRequest request, HttpServletResponse response) {
        System.out.println("FILE UPLOAD ITEM SI SSLSL ::"+uploadItem);

        ExtJSFormResult extjsFormResult = new ExtJSFormResult();

        if (result.hasErrors()){
            for(ObjectError error : result.getAllErrors()){
                System.err.println("Error: " + error.getCode() +  " - " + error.getDefaultMessage());
            }

            //set extjs return - error
            extjsFormResult.setSuccess(false);

            return extjsFormResult.toString();
        }

        // Some type of file processing...
        System.err.println("-------------------------------------------");
        System.err.println("Test upload: " + uploadItem.getFile().getOriginalFilename());
        System.err.println("-------------------------------------------");

        try{

            MultipartFile file = uploadItem.getFile();
            String fileName = null;
            InputStream inputStream = null;
            OutputStream outputStream = null;
            if (file.getSize() > 0) {
                inputStream = file.getInputStream();
                /*if (file.getSize() > 10000) {
                    System.out.println("File Size:::" + file.getSize());
                    extjsFormResult.setSuccess(false);

                    return extjsFormResult.toString();
                }*/
                System.out.println("also path ::"+request.getRealPath("") + "/upload/images/");
                System.out.println("PATHI SIS SIS"+this.getClass().getProtectionDomain().getCodeSource().getLocation().getPath());
                System.out.println("size::" + file.getSize());

                InetAddress addr = InetAddress.getLocalHost();
                byte[] ipAddr = addr.getAddress();

                System.out.println("HOST NAME"+request.getRealPath("ResourceMgt"));
                System.out.println("HOST ADDR"+addr.getHostAddress());
                System.out.println("HOST "+request.getRequestURI());
                System.out.println("HOST "+request.getRequestURL());

                fileName = request.getRealPath("") + "/upload/images/"
                        + file.getOriginalFilename();
                outputStream = new FileOutputStream(fileName);
                System.out.println("FILEN ANEM AND PATH IS ::"+fileName);
                System.out.println("fileName:" + file.getOriginalFilename());

                int readBytes = 0;
                byte[] buffer = new byte[40000];
                while ((readBytes = inputStream.read(buffer, 0, 40000)) != -1) {
                    outputStream.write(buffer, 0, readBytes);
                }

                companyservice.saveImages(file.getOriginalFilename(),fileName);

                outputStream.close();
                inputStream.close();
            }
        }catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        }

        //set extjs return - sucsess
        extjsFormResult.setSuccess(true);

        return extjsFormResult.toString();
    }

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

Ответы [ 3 ]

0 голосов
/ 11 апреля 2012

участник форума

Теперь я могу успешно загрузить файл, но файл сохраняется в развернутом каталоге на сервере.

Как только я удалю проект и заново разверну его на моем сервере Tomcat 6.0, все загруженные файлы будут удалены из него.

Я использую JAVA в качестве серверной технологии с сервером Tomcat 6.0.

0 голосов
/ 24 мая 2012

Я могу успешно загрузить файл, но файл сохраняется в развернутом каталоге на сервере.

Как только я удалю проект и повторно разверну его на моем сервере Tomcat 7.0, все загруженные файлы будут удалены из него.

Я использую JAVA и JSF в качестве технологии на стороне сервера с сервером Tomcat 7.0 в Eclipse IDE

0 голосов
/ 22 марта 2012

Вы пытались изменить назначение outputStream?

fileName = request.getRealPath("") + "/upload/images/"
+ file.getOriginalFilename();

Вместо request.getRealPath("") установите абсолютное назначение или играйте с ClassPath . Например:

fileName = "/opt/tomcat/webapps/upload/images/"
+ file.getOriginalFilename();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...