Мне нужно создать локальный сервер, который сможет обслуживать локальные файлы устройства. Я нашел эту библиотеку, и похоже, что она способна удовлетворить мои потребности.
Я попробовал образец в этом проекте, и он отлично работает! Но он публикует страницу .html, и мне нужны картинки.
Я следил за этим сообщением , где .mp3 был подан. Но это не работает для меня. Вероятно, это потому, что библиотека была обновлена с того времени.
@Override
public Response serve(IHTTPSession session) {
FileInputStream fis = null;
try {
File file = new File(Environment.getExternalStoragePublicDirectory(ROOT)
+ PATH + "picture.jpg"); //path exists and its correct
fis = new FileInputStream(file);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return new NanoHTTPD.Response(Response.Status.OK, "image/jpeg", fis, 1000000); //the last parameter is totalBytes. Not sure what to put there
}
Сервер запускается в onCreate:
//start web server
try {
server = new WebServer();
server.start();
} catch (IOException e) {
e.printStackTrace();
}
Цель состоит в том, чтобы получить доступ к таким файлам: 192.168.1.2:8080/picture.jpg
Кто-нибудь может предложить решение? Заранее спасибо.
Thanks in advance.
Очень неправильно. Вы должны пообещать поблагодарить, если вам хорошо помогли. - person greenapps   schedule 08.06.2015serve()
с параметрами устарело. Во всяком случае, я тоже уже пробовал. Ни один из них не похож на обслуживание файлов. Я не могу получить к ним доступ по ip. На экране ничего не отображается - person AnZ   schedule 08.06.20151000000); //the last parameter is totalBytes.
- person greenapps   schedule 08.06.2015Response
.Response(IStatus status, String mimeType, InputStream data, long totalBytes)
. См. здесь. - person AnZ   schedule 08.06.2015file.length();
. - person greenapps   schedule 08.06.2015file.getAbsolutePath()
? Пожалуйста, добавьте журнал `if (!file.exists()) (файл не существует); и вернуть текст вместо файла. Так что же такое ПУТЬ? Также, если произойдет уловка, верните текст, говорящий об этом. - person greenapps   schedule 08.06.2015/sdcard/MyAppData/Routes/1/Resources/picture.jpg
. Я проверяю его существование в другом классе. В этом постеfile
скорее манекен для проверки работы сервера. - person AnZ   schedule 09.06.2015return new NanoHTTPD.Response(Response.Status.OK, "image/jpeg", fis, 1000000);
даже не компилируется. Так что, пожалуйста, скажите.tried sample inside this project and it works fine! But it posts .html page
. Ok. Пожалуйста, покажите этот код. - person greenapps   schedule 09.06.2015