Servlet技术不仅可以返回字符串数据,JSON数据,还可以返回字节数据,这样我们就可以给客户端返回一些图片,视频等媒体数据
ServletOutputStream
ServletOutputStream
是Servlet提供的一个输入流,它还是继承自InputStream,只不过它能够实现字节流数据响应给客户端。
首先我们需要先获取到ServletOutputStream
对象通过HttpServletResponse
对象。
ServletOutputStream os = resp.getOutputStream();
第二步需要获取到文件输入流读取到需要响应的文件输入流
//读取图片到程序
FileInputStream is = new FileInputStream(imgPath);
考虑到读写效率的原因,我们可以使用BufferedInputStream
和BufferedOutputStream
来封装输入输出流
//利用缓冲流提高读写效率
BufferedInputStream bis = new BufferedInputStream(is);
BufferedOutputStream bos = new BufferedOutputStream(os);
输出字节到客户端
//创建字节数组一次性读取1000字节
byte[] bytes = new byte[<