6

В Android вы можете скачать файл, используя классы org.apache.httpHttpClient, HttpGet и HttpResponse. Как я могу прочитать предложенное имя файла из HTTP-запроса?Получить предложенное имя файла из org.apache.http.HttpResponse

E.g. В PHP, вы могли бы сделать это:

header('Content-Disposition: attachment; filename=blah.txt'); 

Как я получаю "blah.txt" с использованием классов Apache в Android/Java?

ответ

7
BasicHeader header = new BasicHeader("Content-Disposition", "attachment; filename=blah.txt"); 
HeaderElement[] helelms = header.getElements(); 
if (helelms.length > 0) { 
    HeaderElement helem = helelms[0]; 
    if (helem.getName().equalsIgnoreCase("attachment")) { 
     NameValuePair nmv = helem.getParameterByName("filename"); 
     if (nmv != null) { 
      System.out.println(nmv.getValue()); 
     } 
    } 
} 

SYSOUT> blah.txt

3
HttpResponse response = null; 
try { 
    response = httpclient.execute(httppost); 
} catch (ClientProtocolException e) { 
} catch (IOException e) { 
} 

//observe all headers by this 
Header[] h = response.getAllHeaders(); 
for (int i = 0; i < h.length; i++) { 
    System.out.println(h[i].getName() + " " + h[i].getValue()); 
} 

//choose one header by giving it's name 
Header header = response.getFirstHeader("Content-Disposition"); 
String s = header.getValue() 

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

  • Нет связанных вопросов^_^