【问题标题】:Get suggested filename from org.apache.http.HttpResponse从 org.apache.http.HttpResponse 获取建议的文件名
【发布时间】:2012-04-03 06:48:26
【问题描述】:

在 Android 中,您可以使用 org.apache.httpHttpClientHttpGetHttpResponse 下载文件。如何从 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()
      

      【讨论】:

        猜你喜欢
        • 2011-09-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-26
        • 2011-04-08
        相关资源
        最近更新 更多