gpt4 book ai didi

java - NanoHTTPD:显示图像

转载 作者:行者123 更新时间:2023-12-01 09:31:04 27 4
gpt4 key购买 nike

我尝试使用 NanoHTTPD 服务器 在浏览器上显示图像,但始终没有显示任何内容。这是我的服务方法的一部分:

else if(uri.contains(".png")){
SmallBinaryFiles smallBinaryFiles = new SmallBinaryFiles();
InputStream is = new InputStream() {
@Override
public int read() throws IOException {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
};
long i=0;
try {
//smallBinaryFiles.readSmallBinaryFiles(uri): converts binary file given by uri to byte[]
is = new ByteArrayInputStream(smallBinaryFiles.readSmallBinaryFile(uri));

while ((is.read()) != -1){
i++;
}
} catch (IOException ex) {
Logger.getLogger(HelloServer.class.getName()).log(Level.SEVERE, null, ex);
}

return new NanoHTTPD.Response(NanoHTTPD.Response.Status.OK, MIME_PNG, is,i);

}
//declaration of MIME_PNG in NanoHTTPD Core
public static final String MIME_PNG = "image/png";

最佳答案

您的 while() 循环会吃掉所有输入流,因此没有任何内容可发送。使用 -1 而不是 i 使其成为 block 响应。

此外,您的 read() 方法在调用时似乎会抛出异常。使用FileInputStream相反。

关于java - NanoHTTPD:显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39393557/

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