j2me - 内容处置附件;文件名 - 如何获得它?

Posted

技术标签:

【中文标题】j2me - 内容处置附件;文件名 - 如何获得它?【英文标题】:j2me - Content-Disposition attachment; filename - how to get it? 【发布时间】:2011-06-02 12:48:34 【问题描述】:

我正在尝试使用我的 j2me 应用程序下载 Rails 服务器提供的音频文件。 这是我的一段代码:

try 
    connection = (HttpConnection) Connector.open("http://host.com/user/getaudio/65/");
    connection.setRequestMethod(HttpConnection.GET);
    connection.setRequestProperty("User-Agent", "Profile/MIDP-2.1 Configuration/CLDC-1.1");

    System.out.println("HTTP Response: " + connection.getResponseMessage()); // OK
    System.out.println("HTTP ResponseCode: " + connection.getResponseCode()); // 200
    System.out.println("HTTP ResponseLength: " + connection.getLength()); // -1

    connection.close();

     catch (IOException e) 
        e.printStackTrace();
    

HTTP 响应正常,代码:200。一切正常,但 connection.getLength() 返回 -1。我已经意识到该文件是通过 Content-Disposition 标头附加的。 我知道如何使用 connection.getHeaderField() 来实现它,但接下来呢? 有没有可能以某种方式到达它?

问候, 彼得

【问题讨论】:

【参考方案1】:

-1 可能意味着预先不知道内容长度。只需从连接中读取,直到没有更多数据为止。

【讨论】:

以上是关于j2me - 内容处置附件;文件名 - 如何获得它?的主要内容,如果未能解决你的问题,请参考以下文章

Android 浏览器/webview 错误?内容处置:附件;文件名="xyz.txt"

无法添加附件

附件的 HTTP 响应标头内容处置

Azure Blob Storage V2 不再提供内容处置标头

如何使用 PHP 解码使用 RFC2231 编码的字符串

如何从内容处置中获取文件名