我需要创建一个本地服务器,它能够为设备的本地文件提供服务。我发现这library,它似乎能够满足我的需求。使用NanoHttpd在本地服务器上提供图像
我已经尝试过这个项目中的示例,它工作正常!但它张贴.html页面,我需要图片。
我跟着这个post其中.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
任何人都可以提出解决方案?提前致谢。
开始。一个与uri和参数。就像您提供的那篇文章的链接一样。然后你可以提取'picture.jpg。第一个或其他文件名。而你没有告诉你什么不适合你。 '提前致谢.'非常错误。如果你得到了很好的帮助,你应该承诺感谢。 – greenapps
@greenapps,带参数的'serve()'已弃用。无论如何,我已经尝试过了。他们中的任何一个都不像提供文件。我无法通过ip访问它们。屏幕上没有显示任何内容 – AnZ
您的代码应该没问题,但要删除一个参数:'1000000); //最后一个参数是totalBytes。' – greenapps