VUE 下载文件错误 Proxy error: Could not proxy request xxx from xxx to xxx. HPE_INVALID_HEADER_TOKEN

本文主要是介绍VUE 下载文件错误 Proxy error: Could not proxy request xxx from xxx to xxx. HPE_INVALID_HEADER_TOKEN,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

VUE 下载文件错误 Proxy error: Could not proxy request xxx from xxx to xxx. HPE_INVALID_HEADER_TOKEN

  • 场景描述
  • 问题描述
  • 问题定位
  • 解决方案

场景描述

VUE使用axios访问后端接口(返回文件流),获取到blob后,使用代码触发浏览器下载

问题描述

VUE在通过代理访问后端接口时,出现Proxy error: Could not proxy request xxx from xxx to xxx.
HPE_INVALID_HEADER_TOKEN。
VUE显示的错误,HPE_INVALID_HEADER_TOKEN
控制台显示为后端返回500错误
控制台显示为后端返回500错误
后端表现为【java.io.IOException: 你的主机中的软件中止了一个已建立的连接。】
后端表现为IOException:你的主机中的软件终止了一个已建立的链接

问题定位

问题定位,filename中文字符造成的异常
HttpServletResponse的header中,设置的filename存在中文字符。注意,如果只是在控制台显示500异常,vue不抛ProxyError,并且后端不是【你的主机中的软件终止了一个已建立的链接】这样的异常,则不一定是中文字符的问题。

解决方案

对中文字符进行编码操作,这里只做URLEncoder.encode方式的编码
对中文字符进行编码操作

这篇关于VUE 下载文件错误 Proxy error: Could not proxy request xxx from xxx to xxx. HPE_INVALID_HEADER_TOKEN的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/362414

相关文章

详解Vue如何使用xlsx库导出Excel文件

《详解Vue如何使用xlsx库导出Excel文件》第三方库xlsx提供了强大的功能来处理Excel文件,它可以简化导出Excel文件这个过程,本文将为大家详细介绍一下它的具体使用,需要的小伙伴可以了解... 目录1. 安装依赖2. 创建vue组件3. 解释代码在Vue.js项目中导出Excel文件,使用第三

Java实现Excel与HTML互转

《Java实现Excel与HTML互转》Excel是一种电子表格格式,而HTM则是一种用于创建网页的标记语言,虽然两者在用途上存在差异,但有时我们需要将数据从一种格式转换为另一种格式,下面我们就来看看... Excel是一种电子表格格式,广泛用于数据处理和分析,而HTM则是一种用于创建网页的标记语言。虽然两

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

解决systemctl reload nginx重启Nginx服务报错:Job for nginx.service invalid问题

《解决systemctlreloadnginx重启Nginx服务报错:Jobfornginx.serviceinvalid问题》文章描述了通过`systemctlstatusnginx.se... 目录systemctl reload nginx重启Nginx服务报错:Job for nginx.javas

Java后端接口中提取请求头中的Cookie和Token的方法

《Java后端接口中提取请求头中的Cookie和Token的方法》在现代Web开发中,HTTP请求头(Header)是客户端与服务器之间传递信息的重要方式之一,本文将详细介绍如何在Java后端(以Sp... 目录引言1. 背景1.1 什么是 HTTP 请求头?1.2 为什么需要提取请求头?2. 使用 Spr

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

VUE动态绑定class类的三种常用方式及适用场景详解

《VUE动态绑定class类的三种常用方式及适用场景详解》文章介绍了在实际开发中动态绑定class的三种常见情况及其解决方案,包括根据不同的返回值渲染不同的class样式、给模块添加基础样式以及根据设... 目录前言1.动态选择class样式(对象添加:情景一)2.动态添加一个class样式(字符串添加:情

解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题

《解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题》本文主要讲述了在使用MyBatis和MyBatis-Plus时遇到的绑定异常... 目录myBATis-plus-boot-starpythonter与mybatis-spring-b

React实现原生APP切换效果

《React实现原生APP切换效果》最近需要使用Hybrid的方式开发一个APP,交互和原生APP相似并且需要IM通信,本文给大家介绍了使用React实现原生APP切换效果,文中通过代码示例讲解的非常... 目录背景需求概览技术栈实现步骤根据 react-router-dom 文档配置好路由添加过渡动画使用

SpringBoot项目引入token设置方式

《SpringBoot项目引入token设置方式》本文详细介绍了JWT(JSONWebToken)的基本概念、结构、应用场景以及工作原理,通过动手实践,展示了如何在SpringBoot项目中实现JWT... 目录一. 先了解熟悉JWT(jsON Web Token)1. JSON Web Token是什么鬼