问题:我正在使用NanoHTTPD。它运行良好,但不提供 .js 文件、图像和其他文件。
详细说明:我pages
在资产文件夹中有一个文件夹。此文件夹包含index.html
、css 文件、图像和其他文件。我正在使用这样的 NanoHTTPD,但是当我使用浏览器浏览时,没有任何样式或图像。服务器找不到图像和其他文件。只有 index.html 文件的内容。活动 :
MyHTTPD server = null;
try {
server = new MyHTTPD(getApplicationContext());
try
{
server.start();
}
catch( IOException ioe )
{
System.err.println( "Couldn't start server:\n" + ioe );
System.exit( -1 );
}
System.out.println( "Listening on port 8080. Hit Enter to stop.\n" );
try { System.in.read(); } catch( Throwable t ) {
System.out.println("read error");
};
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
MyHTTPD 类
public Context ctx = null;
/**
* Constructs an HTTP server on given port.
*/
public MyHTTPD(Context ctx) throws IOException {
super(8080);
this.ctx = ctx;
}
@Override
public Response serve( String uri, Method method,
Map<String, String> header, Map<String, String> parms,
Map<String, String> files )
{
String html = null;
InputStream is = null;
try {
is = ctx.getAssets().open("pages/index.html");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
byte[] b;
try {
b = new byte[is.available()];
is.read(b);
html = new String(b);
} catch (IOException e) { // TODO Auto-generated catch block
e.printStackTrace();
}
return new NanoHTTPD.Response(html);
}
注意:我已经阅读了这个问题(和答案): Using NanoHTTPD in Android file uploading error nanohttpd How to create nanohttpd server in android?