mirror of
http://git.pig4cloud.com/pig/pigx.git
synced 2026-11-11 05:19:00 +08:00
feat(sys-file): 增加对历史URL参数格式的兼容处理
- 新增对/admin/sys-file/local?fileName=xxx.png格式的兼容支持 - 使用HttpUtil解析URL中的fileName参数 - 当URL参数存在时优先使用参数中的fileName值
This commit is contained in:
1 parent
be30534c40
commit
c3f6e68770
1 file changed
+10
+10
@@ -22,10 +22,12 @@ import cn.hutool.core.io.IoUtil;
|
||||
import cn.hutool.core.lang.tree.Tree;
|
||||
import cn.hutool.core.lang.tree.TreeNode;
|
||||
import cn.hutool.core.lang.tree.TreeUtil;
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.core.util.URLUtil;
|
||||
import cn.hutool.crypto.SecureUtil;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import com.amazonaws.services.s3.model.S3Object;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
@@ -51,6 +53,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.nio.charset.Charset;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.*;
|
||||
|
||||
@@ -109,6 +112,13 @@ public class SysFileServiceImpl extends ServiceImpl<SysFileMapper, SysFile> impl
|
||||
@Override
|
||||
public void getFile(String fileName, HttpServletResponse response) {
|
||||
TenantContextHolder.setTenantSkip();
|
||||
// 增加历史数据兼容 /admin/sys-file/local?fileName=xxx.png
|
||||
Map<String, String> stringMap = HttpUtil.decodeParamMap(fileName, Charset.defaultCharset());
|
||||
String urlFileName = MapUtil.getStr(stringMap, "fileName");
|
||||
if (StrUtil.isNotBlank(urlFileName)) {
|
||||
fileName = urlFileName;
|
||||
}
|
||||
|
||||
SysFile sysFile = baseMapper.selectOne(Wrappers.<SysFile>lambdaQuery().eq(SysFile::getFileName, fileName));
|
||||
try (S3Object s3Object = fileTemplate.getObject(sysFile.getBucketName(), sysFile.getDir(), fileName)) {
|
||||
response.setContentType("application/octet-stream; charset=UTF-8");
|
||||
|
||||
Reference in new issue
Block a user