Nanohttpd提供多个文件

时间:2018-02-24 09:18:16

标签: java android server nanohttpd

使用nanohttpd我可以选择一个选定的文件并启动服务器来提供该文件。

是否可以提供大量文件列表?
也就是说,我在SD卡中有很多文件,我想服务于所选择的文件。那么如何给出这些文件的文件路径数组并生成并返回它们的URL,以便我可以从网络访问它们。

不是列出所有这些文件和文件夹的HTML页面 我经历过this,这不是我所说的。在此,它只列出根文件夹并将它们全部列在HTML页面中,供用户查看/选择。不是我想要的。

只是sdcard中所选文件列表的服务器URL数组,然后我可以通过编程方式使用它。

截至目前我有这个

protected void onCreate(Bundle savedInstanceState) {
        ...
        server = new Mp3Server();
        try {
            server.start();
        } catch(IOException ioe) {
            Log.w("Httpd", "The server could not start.");
        }
        Log.w("Httpd", "Web server initialized.");
}
...
...
public class Mp3Server extends NanoHTTPD {

    public Mp3Server() {
        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("/storage/C67A-18F7/Music/music.mp3");
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return newChunkedResponse(Status.OK, "audio/mpeg", fis);
    }
}

或者我是否每次都要为每个文件传递所选文件并启动/停止服务器?但这听起来效率低下。

0 个答案:

没有答案