【问题标题】:Get suggested filename from org.apache.http.HttpResponse从 org.apache.http.HttpResponse 获取建议的文件名
【发布时间】:2012-04-03 06:48:26
【问题描述】:
在 Android 中,您可以使用 org.apache.http 类 HttpClient、HttpGet 和 HttpResponse 下载文件。如何从 HTTP 请求中读取建议的文件名?
例如在 PHP 中,你会这样做:
header('Content-Disposition: attachment; filename=blah.txt');
如何在 Android/Java 中使用 Apache 类获取“blah.txt”?
【问题讨论】:
标签:
android
httpclient
httpresponse
http-get
content-disposition
【解决方案1】:
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());
}
}
}
系统输出> blah.txt
【解决方案2】:
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()