简单的Tomcat实现--4.2 二进制文件支持
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了简单的Tomcat实现--4.2 二进制文件支持,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含932字,纯文字阅读大概需要2分钟。
内容图文
二进制文件的支持
-
上一次的多类型支持,是在服务器响应浏览器请求的时候,提供给浏览器访问文件的
mimeType
,让浏览器能够正确的读取文件的内容。response
类中 最终反馈给浏览器的是一个字符数组,然后通过socket
获取字符输出流,把字符传输给浏览器。 -
但是我们在服务器端读取文件的时候,是使用
FileUtil
工具类中的readUtf8String
去读取的,这种方式读取文本文件合适,但是读取二进制文件不合适,无法争取读出来。 -
首先给
response
类加一个字符数组的字段body
, 并设置好set方法 -
private byte[] body; public void setBody(byte[] body) { this.body = body; }
-
然后修改之前的
getBody()
方法,在Server
类中如果文件存在,那就直接使用FileUtil.readBytes()
来读取文件的内容,然后使用response
的setBody()
方法将这个字符数组传给response,如果body不为空,在getBody()
方法中就直接返回即可。 -
public byte[] getBody(){ if (body == null) { throw new UnsupportedEncodingException(); } return body; }
-
在Server中的改动
-
if (file.exists()) { // 如果访问的文件存在 byte[] body = FileUtil.readBytes(file); response.setBody(body); // 通过解析文件的拓展名来获取浏览器处理该文件的type String extName = FileUtil.extName(file); String mimeType = WebXmlUtil.getMimeType(extName); response.setContentType(mimeType);
-
启动服务,访问/a.mp4
-
原文:https://www.cnblogs.com/xsliu/p/13445487.html
内容总结
以上是互联网集市为您收集整理的简单的Tomcat实现--4.2 二进制文件支持全部内容,希望文章能够帮你解决简单的Tomcat实现--4.2 二进制文件支持所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。