【若依】前后端分离项目,上传头像失败, 报错String index out of range: -1

若依前后端分离项目上传头像报错String index out of range: -1

前台提示:
上传头像错误

后台报错信息(有省略):

java.io.IOException: String index out of range: -1
	at com.ruoyi.common.utils.file.FileUploadUtils.upload(FileUploadUtils.java:83)
	at com.ruoyi.web.controller.system.SysProfileController.avatar(SysProfileController.java:114)
......

Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
	at java.lang.String.substring(String.java:1967)
	at com.ruoyi.common.utils.file.FileUploadUtils.extractFilename(FileUploadUtils.java:127)
	at com.ruoyi.common.utils.file.FileUploadUtils.upload(FileUploadUtils.java:111)
	at com.ruoyi.common.utils.file.FileUploadUtils.upload(FileUploadUtils.java:79)

关键问题就出在倒数第3行的 (FileUploadUtils.java:127)

去git发现若依现在到3.8.3了,而我用的还是3.3.0版本,,应该是后来的版本更新把这个问题修复了。

但整个项目已经不好升级若依版本了,所以我对比了一下若依最新版本的代码,对应的改了几个地方:

1.修改了:E:\RuoYi-Vue\ruoyi-common\src\main\java\com\ruoyi\common\utils\file\FileUploadUtils.java类的extractFilename方法为最新代码

链接:https://gitee.com/y_project/RuoYi-Vue/blob/master/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java
(123-127行)

2.添加Seq
E:\RuoYi-Vue\ruoyi-common\src\main\java\com\ruoyi\common\utils\uuid\Seq.java

链接:https://gitee.com/y_project/RuoYi-Vue/blob/master/ruoyi-common/src/main/java/com/ruoyi/common/utils/uuid/Seq.java

3.缺少一个StringUtils.padl(value, length)方法,所以还修改了:
E:\RuoYi-Vue\ruoyi-common\src\main\java\com\ruoyi\common\utils\StringUtils.java
添加了对应的2个padl方法

链接:https://gitee.com/y_project/RuoYi-Vue/blob/master/ruoyi-common/src/main/java/com/ruoyi/common/utils/StringUtils.java
(535-582行)

就可以了!
修改成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值