如何通过HTTP发送二进制文件?

时间:2016-12-28 18:23:25

标签: java android http http-headers

我正在开发一个Android应用程序,它建立一个mini-http服务器来向客户端发送一些文件。客户端发送请求,此应用程序使用常规http响应进行响应(因此它包含标头和文件内容)。

我有一段可以处理文本文件的代码。

os = new PrintWriter(socket.getOutputStream(), true);

    String filename = "index.html";
    File file = new File(Environment.getExternalStorageDirectory().toString()+"/FileShare/",filename);

    StringBuilder text = new StringBuilder();
    try {
        BufferedReader br = new BufferedReader(new FileReader(file));
        String line;

        while ((line = br.readLine()) != null) {
            text.append(line);
            text.append('\n');
        }
        br.close();
    }
    catch (IOException e) {...}

os.print("HTTP/1.0 200" + "\r\n");
os.print("Content type: " + getMimeType(filename) + "\r\n");
os.print("Content length: " + text.length() + "\r\n");
os.print("\r\n");
os.print(text + "\r\n");
os.flush();
socket.close();

所以我的问题是如何将二进制数据放入http内容?

提前致谢。

0 个答案:

没有答案