文件下载优化
This commit is contained in:
parent
39d2e1e27c
commit
7ccc5d4dfb
|
@ -129,7 +129,7 @@ public class SysOssPersonController extends BaseController {
|
|||
}
|
||||
|
||||
@SaCheckPermission("file:person:download")
|
||||
@GetMapping("/download/{id}")
|
||||
@PostMapping("/download/{id}")
|
||||
public void download(@PathVariable Long id, HttpServletResponse response) throws Exception {
|
||||
sysOssPersonService.download(id, response);
|
||||
}
|
||||
|
|
|
@ -136,7 +136,7 @@ public class SysOssResourceController extends BaseController {
|
|||
return toAjax(sysOssResourceService.moveByBo(bo));
|
||||
}
|
||||
@SaCheckPermission("file:resource:download")
|
||||
@GetMapping("/download/{id}")
|
||||
@PostMapping("/download/{id}")
|
||||
public void download(@PathVariable Long id, HttpServletResponse response) throws Exception {
|
||||
sysOssResourceService.download(id, response);
|
||||
}
|
||||
|
|
|
@ -139,7 +139,7 @@ public class SysOssTextbookController extends BaseController {
|
|||
}
|
||||
|
||||
@SaCheckPermission("file:textbook:download")
|
||||
@GetMapping("/download/{id}")
|
||||
@PostMapping("/download/{id}")
|
||||
public void download(@PathVariable Long id, HttpServletResponse response) throws Exception {
|
||||
sysOssTextbookService.download(id, response);
|
||||
}
|
||||
|
|
|
@ -66,7 +66,7 @@ public interface ISysOssService {
|
|||
* @param ossId OSS对象ID
|
||||
* @param response HttpServletResponse对象,用于设置响应头和向客户端发送文件内容
|
||||
*/
|
||||
void download(Long ossId, HttpServletResponse response) throws IOException;
|
||||
void download(Long ossId,String originalName,HttpServletResponse response) throws IOException;
|
||||
|
||||
/**
|
||||
* 删除OSS对象存储
|
||||
|
|
|
@ -291,7 +291,7 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
|
|||
|
||||
@Caching(evict = {
|
||||
@CacheEvict(cacheNames = CacheNames.SYS_DEPT, key = "#bo.deptId"),
|
||||
@CacheEvict(cacheNames = CacheNames.SYS_TENANT_DEPT, key = "all")
|
||||
@CacheEvict(cacheNames = CacheNames.SYS_TENANT_DEPT, allEntries = true)
|
||||
})
|
||||
@Override
|
||||
public int updateDept(SysDeptBo bo) {
|
||||
|
@ -362,14 +362,14 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
|
|||
*/
|
||||
@Caching(evict = {
|
||||
@CacheEvict(cacheNames = CacheNames.SYS_DEPT, key = "#deptId"),
|
||||
@CacheEvict(cacheNames = CacheNames.SYS_TENANT_DEPT, key = "all")
|
||||
@CacheEvict(cacheNames = CacheNames.SYS_TENANT_DEPT, allEntries = true)
|
||||
})
|
||||
@Override
|
||||
public int deleteDeptById(Long deptId) {
|
||||
return baseMapper.deleteById(deptId);
|
||||
}
|
||||
|
||||
@Cacheable(cacheNames = CacheNames.SYS_TENANT_DEPT, key = "all")
|
||||
@Cacheable(cacheNames = CacheNames.SYS_TENANT_DEPT)
|
||||
@Override
|
||||
public List<SysDept> selectAllDept() {
|
||||
return baseMapper.selectList();
|
||||
|
|
|
@ -190,6 +190,7 @@ public class SysOssPersonServiceImpl implements ISysOssPersonService {
|
|||
@Override
|
||||
public void download(Long id, HttpServletResponse response) throws IOException {
|
||||
SysOssPerson ossPerson = baseMapper.selectById(id);
|
||||
ossService.download(ossPerson.getOssId(), response);
|
||||
String fileName = ossPerson.getFileName();
|
||||
ossService.download(ossPerson.getOssId(), fileName, response);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -209,7 +209,8 @@ public class SysOssResourceServiceImpl implements ISysOssResourceService {
|
|||
@Override
|
||||
public void download(Long id, HttpServletResponse response) throws IOException {
|
||||
SysOssResource ossResource = baseMapper.selectById(id);
|
||||
ossService.download(ossResource.getOssId(), response);
|
||||
String fileName = ossResource.getFileName();
|
||||
ossService.download(ossResource.getOssId(), fileName, response);
|
||||
baseMapper.addDownloadNum(id);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -169,12 +169,12 @@ public class SysOssServiceImpl implements ISysOssService, OssService {
|
|||
* @param response HttpServletResponse对象,用于设置响应头和向客户端发送文件内容
|
||||
*/
|
||||
@Override
|
||||
public void download(Long ossId, HttpServletResponse response) throws IOException {
|
||||
public void download(Long ossId,String originalName, HttpServletResponse response) throws IOException {
|
||||
SysOssVo sysOss = SpringUtils.getAopProxy(this).getById(ossId);
|
||||
if (ObjectUtil.isNull(sysOss)) {
|
||||
throw new ServiceException("文件数据不存在!");
|
||||
}
|
||||
FileUtils.setAttachmentResponseHeader(response, sysOss.getOriginalName());
|
||||
FileUtils.setAttachmentResponseHeader(response, originalName);
|
||||
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE + "; charset=UTF-8");
|
||||
OssClient storage = OssFactory.instance(sysOss.getService());
|
||||
long contentLength = storage.download(sysOss.getFileName(), response.getOutputStream());
|
||||
|
|
|
@ -209,7 +209,8 @@ public class SysOssTextbookServiceImpl implements ISysOssTextbookService {
|
|||
@Override
|
||||
public void download(Long id, HttpServletResponse response) throws IOException {
|
||||
SysOssTextbook ossTextbook = baseMapper.selectById(id);
|
||||
ossService.download(ossTextbook.getOssId(), response);
|
||||
String fileName = ossTextbook.getFileName();
|
||||
ossService.download(ossTextbook.getOssId(), fileName, response);
|
||||
baseMapper.addDownloadNum(id);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue