mirror of
http://git.pig4cloud.com/pig/pigx.git
synced 2026-11-12 21:49:01 +08:00
refactor(文件下载): 返回原始文件名,方便浏览器识别保存
注意文件名的header 字段需要使用 URLEncoder 避免错误
This commit is contained in:
1 parent
80ec7cd529
commit
beb6474638
1 file changed
+3
+3
@@ -24,6 +24,7 @@ import cn.hutool.core.lang.tree.TreeNode;
|
||||
import cn.hutool.core.lang.tree.TreeUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.core.util.URLUtil;
|
||||
import cn.hutool.crypto.SecureUtil;
|
||||
import com.amazonaws.services.s3.model.S3Object;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
@@ -42,6 +43,7 @@ import com.pig4cloud.pigx.common.file.core.FileTemplate;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.SneakyThrows;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
@@ -112,6 +114,7 @@ public class SysFileServiceImpl extends ServiceImpl<SysFileMapper, SysFile> impl
|
||||
response.setContentType("application/octet-stream; charset=UTF-8");
|
||||
// 文件唯一hash
|
||||
response.addHeader("Hash", sysFile.getHash());
|
||||
response.addHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=" + URLUtil.encode(sysFile.getOriginal()));
|
||||
IoUtil.copy(s3Object.getObjectContent(), response.getOutputStream());
|
||||
} catch (Exception e) {
|
||||
log.error("文件读取异常: {}", e.getLocalizedMessage());
|
||||
|
||||
Reference in new issue
Block a user