ПРОБЛЕМА: Я использую NanoHTTPD. Он отлично работает, но он не служит .js файлам, изображениям и другим.Почему изображения и файлы стиля не удалось найти на NanoHTTPD
ПОДРОБНОЕ ОПИСАНИЕ: У меня есть папка 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?
Каково значение 'HTTP_OK'? (int) 200? и я получаю 'isStreaming не может быть разрешен или не является полевой ошибкой. – Eray
он также находится в классе NanoHTTPD 'HTTP_OK = "200 OK"', – MP23
Но это не строка. Это тип, статус. Я просто пытаюсь это сделать и, похоже, сейчас работает 'Status HTTP_OK = Status.OK;' Также у меня есть еще одна проблема, вы можете проверить мое последнее изменение для моего первого комментария. – Eray