gpt4 book ai didi

android - 使用 NanoHttpd 在本地服务器上提供图像

转载 作者:行者123 更新时间:2023-11-29 15:49:57 25 4
gpt4 key购买 nike

我需要创建一个能够为设备的本地文件提供服务的本地服务器。我找到了这个 library看起来它能够满足我的需求。

我已经在这个项目中尝试过示例,它工作正常!但它发布 .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

谁能提出解决方案?提前致谢。

最佳答案

在新版本中,Response 受到保护。

我用它来下载 APK 文件,我想这也适用于图像:

File f = new File("apk/app-release.apk");
FileInputStream fis = new FileInputStream(f);
Response res = newChunkedResponse(Response.Status.OK, "application/vnd.android.package-archive", fis);
res.addHeader("Content-Disposition", "attachment; filename=\"" + f.getName() + "\"");
return res;

关于android - 使用 NanoHttpd 在本地服务器上提供图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30711150/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com