Browse Source

【修复】修复图片后缀为大写时不能预览的bug,修复文件下载时,中文名称乱码的Bug

就是那个锅 4 years ago
parent
commit
ab14588d90

+ 1 - 1
guns-base-support/guns-system/src/main/java/cn/stylefeng/guns/sys/modular/file/service/impl/SysFileInfoServiceImpl.java

@ -234,7 +234,7 @@ public class SysFileInfoServiceImpl extends ServiceImpl<SysFileInfoMapper, SysFi
        //根据文件id获取文件信息结果集
        SysFileInfoResult sysFileInfoResult = this.getFileInfoResult(sysFileInfoParam.getId());
        //获取文件后缀
        String fileSuffix = sysFileInfoResult.getFileSuffix();
        String fileSuffix = sysFileInfoResult.getFileSuffix().toLowerCase();
        //获取文件字节码
        fileBytes = sysFileInfoResult.getFileBytes();
        //如果是图片类型,则直接输出

+ 2 - 1
guns-base-support/guns-system/src/main/java/cn/stylefeng/guns/sys/modular/file/util/DownloadUtil.java

@ -3,6 +3,7 @@ package cn.stylefeng.guns.sys.modular.file.util;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.util.URLUtil;
import cn.hutool.log.Log;
import cn.stylefeng.guns.core.context.requestno.RequestNoContext;
import cn.stylefeng.guns.core.exception.ServiceException;
@ -27,7 +28,7 @@ public class DownloadUtil {
    public static void download( String fileName, byte[] fileBytes,HttpServletResponse response) {
        try {
            response.reset();
            response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
            response.setHeader("Content-Disposition", "attachment; filename=\"" + URLUtil.encode(fileName) + "\"");
            response.addHeader("Content-Length", "" + fileBytes.length);
            response.setContentType("application/octet-stream;charset=UTF-8");
            IoUtil.write(response.getOutputStream(), true, fileBytes);