http - j2me - 内容配置附件;文件名 - 如何得到它?

标签 http java-me content-disposition

我正在尝试使用我的 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 header 附加的。 我知道如何使用 connection.getHeaderField() 到达它,但接下来呢? 是否有可能以某种方式达到它?

问候, 彼得

最佳答案

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

关于http - j2me - 内容配置附件;文件名 - 如何得到它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4579315/

相关文章:

python - 使用套接字创建原始 HTTP 请求

python - Scrapy - 如何停止元刷新重定向?

java - 如何将 OutputStream 转换为字符串?

html - 强制打开 "Save As..."弹出窗口在文本链接处打开单击查看 HTML 中的 PDF

java - JAVA 中带有 JSON 字符串的 HTTP POST 请求不起作用

Django REST Framework - 如何加密 PUT 和 PATCH 中的密码?

java - J2ME 中的压缩

java-me - J2ME-如何在不使用10表示倍数的情况下将double转换为字符串(E-05)

c# - 获取没有 Content-Disposition 的文件名

java - 使用FileSystemResource强制下载文件时如何设置 'Content-Disposition'和 'Filename'?