代码拉取完成,页面将自动刷新
@Override
public void doHandle(HttpRequest request, HttpResponse response) throws IOException {
...
...
...
response.setHeader(HttpHeaderConstant.Names.LAST_MODIFIED, sdf.get().format(lastModifyDate));
//************ start:此处为我这边修改的内容 *****************
response.setHeader(HttpHeaderConstant.Names.CONTENT_LENGTH, file.length()+"");
//************ end:此处为我这边修改的内容 *****************
String contentType = Mimetypes.getInstance().getMimetype(file);
response.setHeader(HttpHeaderConstant.Names.CONTENT_TYPE, contentType + "; charset=utf-8");
//HEAD不输出内容
if (HttpMethodEnum.HEAD.getMethod().equals(method)) {
return;
}
...
...
...
}
对于兼容性不好的浏览器,如果不返回长度会导致在下载大文件时失败或者不显示下载进度
response.setHeader(HttpHeaderConstant.Names.CONTENT_LENGTH, file.length()+"");
感谢你的建议。
在下个版本中会按照你的建议做调整。而对于html文件会依旧默认用 Transfer-Encoding: chunked,这样可以让浏览器边加载边渲染。
if (!file.getName().endsWith("html") && !file.getName().endsWith("htm")) {
response.setContentLength((int) file.length());
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
登录 后才可以发表评论