2010-06-24 4 views

ответ

4

Да, вы можете использовать alternatedocroot объект (in Glassfish) для подачи файлов (например, изображений) из-за пределов войны.

Это свойство может быть подэлементом из ВС-веб-приложения элемента в файле ВС-web.xml или элемент виртуального сервера в domain.xml файл

См здесь: http://docs.sun.com/app/docs/doc/820-4496/geqpl?l=en&a=view

пример:

<property name="alternatedocroot_1" value="from=/images/* dir=/usr/gifs"/> 
+0

Это выглядит как то, что я ищу. Благодарю. – Bogdan

1

Вы можете добавить сервлета т o ваше приложение, которое читает файл.

Пример (требуется обработка ошибок)

public class FileDownloadServlet extends HttpServlet { 

     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

     String filename = request.getParameter("filename"); 
     InputStream is; 
     try { 
      is = FileUtils.openInputStream(new File(filename)); 
      byte[] buf = new byte[ 8192 ]; 
      int bytesRead; 
      while ((bytesRead = is.read(buf)) != -1) 
       os.write(buf, 0, bytesRead); 
     } 
     catch(...) { 
     } 
     finally { 
      is.close(); 
      os.close(); 
     } 
     response.setContentType("application/octet-stream"); 
     } 
    } 
+0

+1 для приятной альтернативы. Благодаря ;) – Bogdan

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