使用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);
}
}
或者我是否每次都要为每个文件传递所选文件并启动/停止服务器?但这听起来效率低下。