首页 > 其他分享 >Spring上传文件乱码问题(问号版)

Spring上传文件乱码问题(问号版)

时间:2024-09-27 11:26:38浏览次数:7  
标签:文件 zuul Spring 乱码 上传 问号

Spring上传文件乱码问题(问号版)

目录

一、问题描述:

spring项目上传文件,后端接收文件并获取文件名称,名称中文变成 “?”,例如:??abc()??.xml,其中问号为中文字符

// 前端传递参数
MultipartFile file
//后端获取filename
String originalFilename = file.getOriginalFilename();

二、原因分析

该系统使用的zuul作为分布式网关,处理传入请求时,将对参数进行解码,以便他们可用于zuul过滤器中的可能修改,然后在路由过滤器中构建后端请求时重新编码他们。重新编码的过程中因为编码不一致导致出现中文变问号的乱码情况。这种情况无法通过获取文件名后对已经出现问号的文件名进行重新编码解决。

问题是在spring-cloud-zuul在解析文件名的时候会做处理:

三、解决办法

网上百度有很多文章,总结下来就是两种解决办法。

1、修改zuul的配置,添加zuu.servlet-path: /

这样解决不需要前端修改,方便快捷。已验证可以解决上述问题。

# 解决上传文件,文件名名称中包含特殊字符转变成问号
zuul:
  servlet-path: /

2、网上所说的方式,api接口前面 /zuul:

在不修改zuul默认配置参数的情况下,在上传文件的请求路径之前添加字符串“zuul”声明此请求被ZuulServlet处理。
例如在当前代码下,请求路径是:
localhost:8080/up/upload
那么采用方案一解决中文乱码的请求路径就是:
localhost:8080/zuul/up/upload
经过测试,中文乱码问题成功解决。

参考文章:https://blog.csdn.net/weixin_43221207/article/details/108538277

标签:文件,zuul,Spring,乱码,上传,问号
From: https://www.cnblogs.com/BananaMan666/p/18435309

相关文章

  • springboot+vue社区医疗诊所信息系统的设计与实现 8283b
    目录功能和技术介绍系统实现截图开发核心技术介绍:使用说明开发步骤编译运行代码执行流程核心代码部分展示可行性分析软件测试详细视频演示源码获取功能和技术介绍jdk版本:jdk1.8+编程语言:java框架支持:springboot/ssm/springcloud分布式微服务数据库:mysql版......
  • 【2025】springboot图书推荐商城系统(源码+文档+调试+答疑)
     目录一、整体目录:项目包含源码、调试、修改教程、调试教程、讲解视频、开发文档(项目摘要、前言、技术介绍、可行性分析、流程图、结构图、ER属性图、数据库表结构信息、功能介绍、测试致谢等约1万字)二、运行截图三、代码部分(示范):四、数据库表(示范):数据库表有注释,可以......
  • Spring Cloud全解析:服务调用之OpenFeign日志打印
    OpenFeign日志打印OpenFeign提供了日志打印功能,可以配置不同级别的日志级别publicenumLevel{//默认,不显示任何日志NONE,//仅记录请求方法、url、响应状态码及执行时间BASIC,//除记录BASIC信息外,还记录请求头和响应头HEADERS,//除了HEADERS信息外,还有请......
  • PbootCms上传图片变模糊、上传图片尺寸受限的解决方案
    在使用PBootCMS过程中,如果上传的图片被压缩变得模糊,通常是因为上传的图片尺寸超过了系统默认的限制。PBootCMS模板默认的上传图片限制宽度为1920像素,缩略图的限制大小为1000*1000像素。可以通过调整配置文件中的相关参数来解决这个问题。解决方案打开 config.php 文件找......
  • PbootCMS上传文件大小限制
    要解决PBootCMS上传大文件的问题,需要从多个方面进行配置。以下是一个详细的步骤指南,包括修改php.ini文件、重启PHP服务、修改编辑器上传大小设置以及针对不同Web服务器的额外配置。一、修改 php.ini 文件打开 php.ini 文件找到PHP安装目录下的 php.ini 文件。修改......
  • pbootcms如何修改上传格式和支持webp图片
    要在PBootCMS中添加对WebP格式图片的支持,主要需要修改配置文件中的上传格式设置。以下是一个详细的步骤指南:修改步骤打开 config.php 文件找到PBootCMS安装目录下的 /config/config.php 文件。修改上传格式配置在 config.php 文件中找到上传配置部分,并增加 webp......
  • Spring MVC(看这一篇就够了)
    导入jar<!--JSON依赖--><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.4.3</version></dependency><dependency><groupId>com.fas......
  • SpringBoot+Activiti7工作流入门实例
    目录文章目录目录准备Activiti建模工具1、BPMN-js在线设计器1.1安装1.2使用说明1.3运行截图2、IDEA安装ActivitiDesigner插件2.1安装插件2.2设置编码格式防止中文乱码2.3截图简单工作流入门实例1.新建SpringBoot工程2.引入Activiti相关依赖添加版本属性指定......
  • Spring Boot起步,CRUD、错误处理与宝塔部署
    新建一个SpringBoot项目这里使用的idea编辑器。快速生成java项目。生成项目目录java代码解读复制代码java-app:项目的根目录。.idea:IntelliJIDEA的项目配置文件夹。.mvn:Maven的相关配置。src:源代码目录。main:主代码部分。java:Java源代码文件夹。......
  • pbootcms通过会员自带上传实现留言表单图片文件上传功能
    在PBootCMS3.0会员版本中,你可以通过修改会员上传头像的功能来实现留言上传图片的功能。以下是详细的步骤和示例代码:步骤复制上传文件将member/comm/upload.html文件复制到上一层目录,命名为comm/upload.html。修改上传接口修改upload.html文件中的上传接口。将upload......