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