org.apache.catalina.connector.clientAbortException:java.io.IOException: 你的主机中的软件中止了一个已建立的连接

2023-11-13

开始好好的,突然前端查看图片就这个样子了:127.0.0.1 sent an invalid response.。但是后端不报错,前端的网络包也正常。

这个错误很奇怪之后手动try,catch手动打印才会显示。

解决方案

本来代码是这样的:

 改成下面的样子就好了,原因是没有设置MIME的类型。

    public void downloadAnnouncementFile(String path, HttpServletRequest request, HttpServletResponse response) {
        try (FileInputStream fileInputStream = new FileInputStream(path)) {
            String filename;
            try {
                filename = path.split("-----")[1];
            } catch (Exception e) {
                filename = path;
            }
            String contentType = determineContentType(filename);

            response.setContentType(contentType);
            response.setHeader("Content-Disposition", "attachment; filename*=UTF-8''" + URLEncoder.encode(filename, "UTF-8"));
            response.setHeader("Cache-Control", "private, no-store, max-age=0, must-revalidate");

            IOUtils.copy(fileInputStream, response.getOutputStream());

            response.flushBuffer();
        } catch (IOException e) {
            System.out.println("公告文件下载出问题了");
            e.printStackTrace();
        }
    }

    private String determineContentType(String filename) {
        // 这里根据文件名后缀来确定文件的 MIME 类型
        if (filename.endsWith(".jpg")) {
            return "image/jpeg";
        } else if (filename.endsWith(".pdf")) {
            return "application/pdf";
        } else if (filename.endsWith(".exe")) {
            return "application/exe";
        }
        // 如果没有匹配到特定类型,可以返回一个默认的 MIME 类型
        return "application/octet-stream";
    }

 完。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

org.apache.catalina.connector.clientAbortException:java.io.IOException: 你的主机中的软件中止了一个已建立的连接 的相关文章

  • 如何将 Java 赋值表达式转换为 Kotlin

    java中的一些东西就像 int a 1 b 2 c 1 if a b c System out print true 现在它应该转换为 kotlin 就像 var a Int 1 var b Int 2 var c Int 1 if a
  • 如何测试 JUnit 测试的 Comparator?

    我需要测试 Compare 方法 但我对如何测试感到困惑 我可以看看该怎么做吗 public class MemberComparator implements Comparator
  • 线程自动利用多个CPU核心?

    假设我的应用程序运行 2 个线程 例如渲染线程和游戏更新线程 如果它在具有多核 CPU 当今典型 的移动设备上运行 我是否可以期望线程在可能的情况下自动分配给不同的核心 我知道底层操作系统内核 Android linux内核 决定调度 我的
  • Android Studio 在编译时未检测到支持库

    由于 Android Studio 将成为 Android 开发的默认 IDE 因此我决定将现有项目迁移到 Android studio 中 项目结构似乎不同 我的项目中的文件夹层次结构如下 Complete Project gt idea
  • 解决错误:日志已在具有多个实例的atomikos中使用

    我仅在使用atomikos的实时服务器上遇到问题 在我的本地服务器上它工作得很好 我在服务器上面临的问题是 init 中出错 日志已在使用中 完整的异常堆栈跟踪 java lang RuntimeException Log already
  • 如何制作 tumblr 风格的个人资料 url

    我想知道 tumblr 是如何做到这样的个人资料网址 http www username tumblr com http username tumblr com 我知道我们可以更改个人资料网址 http www website com pr
  • 在数据流模板中调用 waitUntilFinish() 后可以运行代码吗?

    我有一个批处理 Apache Beam 作业 它从 GCS 获取文件作为输入 我的目标是根据执行后管道的状态将文件移动到两个 GCS 存储桶之一 如果管道执行成功 则将文件移动到存储桶 A 否则 如果管道在执行过程中出现任何未处理的异常 则
  • Java中接口作为方法参数

    前几天去面试 被问到了这样的问题 问 反转链表 给出以下代码 public class ReverseList interface NodeList int getItem NodeList nextNode void reverse No
  • Spring Data 与 Spring Data JPA 与 JdbcTemplate

    我有信心Spring Data and Spring Data JPA指的是相同的 但后来我在 youtube 上观看了一个关于他正在使用JdbcTemplate在那篇教程中 所以我在那里感到困惑 我想澄清一下两者之间有什么区别Spring
  • 如何在 JFreeChart TimeSeries 图表上显示降雨指数和温度?

    目前 我的 TimeSeries 图表每 2 秒显示一个位置的温度 现在 如果我想每2秒显示一次降雨指数和温度 我该如何实现呢 这是我的代码 import testWeatherService TestWeatherTimeLapseSer
  • 检查 protobuf 消息 - 如何按名称获取字段值?

    我似乎无法找到一种方法来验证 protobuf 消息中字段的值 而无需显式调用其 getter 我看到周围的例子使用Descriptors FieldDescriptor实例到达消息映射内部 但它们要么基于迭代器 要么由字段号驱动 一旦我有
  • Java直接内存:在自定义类中使用sun.misc.Cleaner

    在 Java 中 NIO 直接缓冲区分配的内存通过以下方式释放 sun misc Cleaner实例 一些比对象终结更有效的特殊幻像引用 这种清洁器机制是否仅针对直接缓冲区子类硬编码在 JVM 中 或者是否也可以在自定义组件中使用清洁器 例
  • 将多模块 Maven 项目导入 Eclipse 时出现问题 (STS 2.5.2)

    我刚刚花了最后一个小时查看 Stackoverflow com 上的线程 尝试将 Maven 项目导入到 Spring ToolSuite 2 5 2 中 Maven 项目有多个模块 当我使用 STS 中的 Import 向导导入项目时 所
  • Tomcat 6找不到mysql驱动

    这里有一个类似的问题 但关于类路径 ClassNotFoundException com mysql jdbc Driver https stackoverflow com questions 1585811 classnotfoundex
  • 使用 SAX 进行 XML 解析 |如何处理特殊字符?

    我们有一个 JAVA 应用程序 可以从 SAP 系统中提取数据 解析数据并呈现给用户 使用 SAP JCo 连接器提取数据 最近我们抛出了一个异常 org xml sax SAXParseException 字符引用 是无效的 XML 字符
  • java迭代器内部是如何工作的? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个员工列表 List
  • KeyPressed 和 KeyTyped 混淆[重复]

    这个问题在这里已经有答案了 我搜索过之间的区别KeyPressedand KeyTyped事件 但我仍然不清楚 我发现的一件事是 Keypressed 比 KeyTyped 首先被触发 请澄清一下这些事件何时被准确触发 哪个适合用于哪个目的
  • JAVA - 如何从扫描仪读取文件中检测到“\n”字符

    第一次海报 我在读取文本文件的扫描仪中读取返回字符时遇到问题 正在读取的文本文件如下所示 test txt start 2 0 30 30 1 1 90 30 0 test txt end 第一行 2 表示两个点 第二行 位置索引 0 xp
  • java8 Collectors.toMap() 限制?

    我正在尝试使用java8Collectors toMap on a Stream of ZipEntry 这可能不是最好的想法 因为在处理过程中可能会发生异常 但我想这应该是可能的 我现在收到一个我不明白的编译错误 我猜是类型推理引擎 这是
  • Jackson 将单个项目反序列化到列表中

    我正在尝试使用一项服务 该服务为我提供了一个带有数组字段的实体 id 23233 items name item 1 name item 2 但是 当数组包含单个项目时 将返回该项目本身 而不是包含一个元素的数组 id 43567 item

随机推荐

  • 高等数值计算方法学习笔记第4章第一部分【数值积分(数值微分)】

    高等数值计算方法学习笔记第4章第一部分 数值积分 数值微分 一 数值积分概论 1 数值求积的基本思想 牛 莱公式找不到原函数 用矩形近似 2 代数精度的概念 1 上述四个公式的代数精度 梯形 左中右矩形公式 2 利用代数精度的概念构造求积公
  • Chatgpt登陆后一直在转圈请求429错误的解决办法

    Chatgpt登陆后一直在转圈请求429错误的解决办法 如果您使用ChatGPT登陆后遇到了持续转圈或请求429错误 可能是由于请求次数过多导致的限制 为了解决这个问题 可以尝试以下几个方法 等待一段时间后再次尝试登陆 由于请求次数过多 C
  • MongoDB图形化工具的使用与java操作

    MongoDB图形化工具的使用与java操作 MongoDB Compass Community 下载 安装 使用 介绍 MongoDB概念 新建数据库 删除数据库 新建集合 删除集合 新增文档 删除文档 修改文档 查询文档 Java操作m
  • HTML5 蔡徐坤打篮球游戏 NMSL❤️❤️❤️

    此文章来自实验楼用户dancebyte在实验楼的技术分享 希望大家喜欢 使用 es6 语法及原生 javascript 实现的蔡徐坤打篮球游戏 游戏有多种难度可选择 简单 普通 困难 极限以及非人类 非人类模式请勿轻易尝试 否则可能会疯掉
  • 查询性别的时候格式化

    SELECT CYD DEPT NAME T ID T CODE T NAME T JOB CASE WHEN T SEX 0 THEN 男 WHEN T SEX 1 THEN 女 ELSE X END AS SEX T BIRTH T P
  • 卷积神经网络(二)- 深度卷积网络:实例研究

    本次学习笔记主要记录学习深度学习时的各种记录 包括吴恩达老师视频学习 花书 作者能力有限 如有错误等 望联系修改 非常感谢 卷积神经网络 二 深度卷积网络 实例研究 一 为什么要进行实例研究 Why look at case studies
  • 在 VMware Workstation 虚拟机中创建共享文件夹的步骤〔图解〕

    本文以 VMware Workstation 7 1 4 385536 汉化版为例 讲解在虚拟机中创建 VMware 共享文件夹 vmware shared folders 的具体步骤与方法 一 安装 VMware Tools 启动好 Wi
  • yolov5识别cf火线敌人(FPS类的AI瞄准)详细教程一

    一 前言 因为自己的研究方向也是深度学习方向 而且平时闲的时候还喜欢玩会cf火线等枪战游戏 就想着找一个大模型做一个对游戏敌人的识别的功能 一切实现之后就想把自己的心得写出来 我打算分俩个教程分别细述整个学习以及操作的过程 教程一主要包括了
  • 【Python 逻辑题】甲、乙、丙、丁四人的血型各不相同

    问题 甲 乙 丙 丁四人的血型各不相同 甲说 我是A型 乙说 我是O型 丙说 我是AB型 丁说 我不是AB型 四个人中只有一个人的话是假的 解决方法 思路 四个人的血型肯定都在 A B O AB 范围内 所以用for循环让四个人轮流等于这四
  • Python的 numpy中 meshgrid 和 mgrid 的区别和使用

    一 meshgrid函数 meshgrid函数通常使用在数据的矢量化上 它适用于生成网格型数据 可以接受两个一维数组生成两个二维矩阵 对应两个数组中所有的 x y 对 示例展示 由上面的示例展示可以看出 meshgrid的作用是 根据传入的
  • 空时自适应处理用于机载雷达——机载阵列雷达信号环境(Matla代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 2 1 机载阵列雷达信号环境 2 2 空时处理基础知识 2 3 元素空间空时自适应处理 2
  • [TensorFlow2基础]对数据的训练和预测

    TensorFlow深度学习 前言 一 检测是否安装了tensorflow 二 导入csv文件 1 读入数据 2 数据绘图 三 模型的建立和训练 1 建立模型 2 进行训练 3 预测 总结 前言 本文介绍Tenserflow架构学习的基础内
  • unity3d-WebCamTexture类API详解

    WebCamTexture类 命名空间 UnityEngine 继承于 Texture Description 说明 WebCam Textures are textures onto which the live video input
  • js startsWith方法

    startsWith方法 用来判断字符串是否以固定数据开头 abc startsWith a true abc startsWith d false 该方法还有第二个参数 可以从字符串指定位置开始判断 默认为0 abcdefg starts
  • 【后端开发】将springboot项目部署到阿里云服务器

    步骤一 拿到一台阿里云的服务器 1 到达阿里云官网 2 有账号的可以直接登录 没有账号的自己注册一个 3 找到搜索框 搜索 云服务器 4 可以购买一台 新用户可以试用 也可以进行学生认证进行免费试用 我这里选择的是 新用户试用 5 选择自己
  • sqlite工具类(不完善只有基本功能)

    提示 sqlite最好单线程操作 多线程写会冲突 单这个工具我一般用于小的程序用 所以是一个连接在重复使用没有进行保活之类操作 新增了单例的读写连接持有 通过队列解决多线程sql执行问题 新增了读线程池 保存每个线程 maven
  • 微信视频不能连接到服务器,微信无法连接到服务器

    微信的使用现在已经是很普遍了 可以通过微信和好友进行更加丰富多彩的方式联系 并且软件也是不收费的 但是在使用的过程中难免会遇到这样或是那样的问题 比如说微信无法连接到服务器这种情况也是时有发生 那么是什么原因导致的呢 要如何来解决呢 下面就
  • Flutter列表组件(ListView,GrideView)

    Flutter列表组件 ListView介绍 ListView参数列表 基本列表 垂直列表 水平列表 动态列表 ListView builder遍历数据生成列表 GrideView组件 参数说明 GrideView builder遍历数据生
  • 多维时序

    多维时序 MATLAB实现GTO CNN LSTM人工大猩猩部队优化卷积长短期记忆神经网络多变量多步时间序列预测 目录 多维时序 MATLAB实现GTO CNN LSTM人工大猩猩部队优化卷积长短期记忆神经网络多变量多步时间序列预测 预测效
  • org.apache.catalina.connector.clientAbortException:java.io.IOException: 你的主机中的软件中止了一个已建立的连接

    开始好好的 突然前端查看图片就这个样子了 127 0 0 1 sent an invalid response 但是后端不报错 前端的网络包也正常 这个错误很奇怪之后手动try catch手动打印才会显示 解决方案 本来代码是这样的 改成下