2015-09-09 6 views
1

Я пытаюсь сохранить файл изображения в папку проекта. Файл изображения поступает из базы данных. Это веб-сервис проекта maven. У меня нет сервлетов. Вот мой код, но он сохраняет папку eclipse.java web appliaction сохранить изображение в папке проекта

 byte[] imgData = null; 
     Blob img = null; 
     img = resultset.getBlob("LOGO"); 
     imgData = img.getBytes(1, (int) img.length()); 

     BufferedImage img2 = null; 
     img2 = ImageIO.read(new ByteArrayInputStream(imgData)); 

     File outputfile = new File("birimler/"+resultset.getString("BASLIK") 
       + "Logo.png"); 
     outputfile.mkdirs(); 
     ImageIO.write(img2, "png", outputfile); 
     System.out.println(outputfile.getAbsolutePath()); 

Выход: /Users/xxx/Documents/eclipse/Eclipse.app/Contents/MacOS/birimler/imageLogo.png

Спасибо за помощь!

ответ

1

Thats потому, что рабочий стол eclipse является его установочной папкой. Укажите полный абсолютный путь или измените рабочий каталог конфигурации запуска.

File outputfile = new File("/birimler/"+resultset.getString("BASLIK") 
       + "Logo.png"); 

конец бы в

"/birimler/imageLogo.png"

И добавив еще одну черту:

File outputfile = new File("/birimler/"+resultset.getString("BASLIK") 
       + "/Logo.png"); 

будет производить:

«/birimler/image/Logo.png»

+0

Это на моей локальной машине сейчас, позже я буду использовать в tomcat8 на сервере. если я изменяю dir из eclipse, он не работает на сервере. – volkanozkan

+0

Позже на сервере рабочий каталог на tomcat нормален в его установочной папке. Во всяком случае, укажите абсолютный путь, чтобы быть уверенным в цели. –

+0

Спасибо за помощь, но как я могу обеспечить абсолютный путь. Локальный компьютер os - Mac OSX, а сервер - Windows. – volkanozkan

Смежные вопросы