【发布时间】:2015-05-15 09:34:02
【问题描述】:
我一直在努力寻找在 Undertow 中提供 .jpeg、.png 或其他内容的方法。发送 byte[] 不起作用,并且由于 Undertow 是非阻塞的,我不想像往常一样将文件写入输出:
exchange.getOutputStream().write(myFileByteArray);
还有其他方法可以实现吗?我还使用 Undertow 的默认 Base64 库在 Base64 中对图像进行了编码,但也没有用。
编辑:提供一些代码: 这是我对文件进行编码的方法。它适用于 .js、.html 和其他文本文件,但不适用于图像。不过,编码是有效的,所以我的问题是,当我把它发回给请求的人时,我是否做错了什么。
这是我的回应方式:(为 stackoverflow 目的硬编码)
exchange.getResponseHeaders().put(Headers.CONTENT_TYPE, "image/jpeg");
exchange.getResponseSender().send(getResource(resource, true));
我没有得到任何例外。图片只是不会显示在浏览器上。浏览器说它无法解码图像..
谢谢。
【问题讨论】:
-
有什么问题?那是您遇到的错误,您的代码是什么?
-
好的,我会提供一些。坚持
-
您能分享您为此图像请求获得的响应标头吗?
-
这行得通吗? imgur.com/3uUsttM
-
是的,基本上我想看看您的响应标头显示了 base64 信息。它没有显示在您的共享网址中。