如何在android中接收和显示nanohttpd标头?

时间:2015-03-24 09:44:44

标签: android nanohttpd

在服务器端,我使用以下代码回答的代码。我想发送文件的名称并在客户端显示它。

public class StackOverflowMp3Server extends NanoHTTPD {

    public StackOverflowMp3Server() {
        super(8089);
    }

    @Override
    public Response serve(String uri, Method method,
        Map<String, String> header, Map<String, String> parameters,
        Map<String, String> files) {
        String answer = "";

        FileInputStream fis = null;
        try {
            fis = new FileInputStream(Environment.getExternalStorageDirectory()
                + "/music/musicfile.mp3");
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return new NanoHTTPD.Response(Status.OK, "audio/mpeg", fis);
        //adding headers here
    }
}

1 个答案:

答案 0 :(得分:0)

您应该编写另一个服务来返回文件名

public class FileNameServer extends NanoHTTPD {

public FileNameServer () {
    super(8089);
}

@Override
public Response serve(String uri, Method method,
    Map<String, String> header, Map<String, String> parameters,
    Map<String, String> files) {
    String answer = "";

    String fileName = "";
    try {
        fileName = Environment.getExternalStorageDirectory()
            + "/music/musicfile.mp3";
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return new NanoHTTPD.Response(Status.OK, "string", fileName);
    //adding headers here
}