2013-12-18 3 views
1

У меня есть поток ввода, подключенный к файлу на сервере. Входной поток был создан с использованием Apache Web Components. Как я могу предоставить этот входной поток в браузер пользователя, чтобы файл загружался в браузере с помощью Apache Web Components?Поставка браузера с потоком ввода для загрузки файла

CredentialsProvider credsProvider = new BasicCredentialsProvider(); 
    credsProvider.setCredentials(
      new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT), 
      new UsernamePasswordCredentials("user", "pass")); 
    CloseableHttpClient httpclient = HttpClients.custom() 
      .setDefaultCredentialsProvider(credsProvider).build(); 
    try { 
     HttpGet httpget = new HttpGet("https://website.com/file.txt"); 

     CloseableHttpResponse response = httpclient.execute(httpget); 
     try { 
      HttpEntity entity = response.getEntity(); 
      InputStream in=entity.getContent(); 
      int c; 
      while((c=in.read())!=-1){ 
       //maybe write to an ouput stream here so file can download? 
       System.out.println(c); 
      } 

      EntityUtils.consume(entity); 
     } finally { 
      response.close(); 
     } 
    } finally { 
     httpclient.close(); 
    } 
+0

Что вы используете. JSP/Servlet или любые более сложные рамки. Pls конкретизирует ваш вопрос. – Diversity

ответ

2

Просто другой HTTP Framework:

Может быть, это помогает:

CloseableHttpClient httpclient = HttpClients.createDefault(); 
HttpGet httpget = new HttpGet("http://localhost/"); 
CloseableHttpResponse response = httpclient.execute(httpget); 
try { 
    HttpEntity entity = response.getEntity(); 
    if (entity != null) { 
     InputStream instream = entity.getContent(); 
     try { 
      // do something useful 
     } finally { 
      instream.close(); 
     } 
    } 
} finally { 
    response.close(); 
} 

Quelle: http://hc.apache.org/httpcomponents-client-ga/tutorial/html/fundamentals.html#d5e49

HttpEntity Instanz предлагает Вам InputStream, которые могут быть оценены с помощью стандартных классов Java Streaming и методы.

Может быть ответом, если не PLS предоставить фрагменты кода или конкретные проблемы.

+0

Текущий код добавлен. У меня уже есть входной поток, и мне нужно записать этот поток в браузер, чтобы файл мог скачать. – Nick