update 企业端 会议资料下载和分标委-资料下载 pdf加水印
This commit is contained in:
+16
-10
@@ -1,15 +1,14 @@
|
||||
package com.jero.data.controller;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.io.*;
|
||||
import java.util.*;
|
||||
import javax.activation.MimetypesFileTypeMap;
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.Valid;
|
||||
|
||||
import cn.hutool.core.io.FileUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@@ -31,6 +30,7 @@ import com.jero.modules.oss.entity.OSSFile;
|
||||
import com.jero.modules.oss.service.IOSSFileService;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.modules.system.util.SysWaterMarkUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@@ -76,7 +76,8 @@ public class PayCaseCommitteeController extends JeroController<PayCaseCommittee,
|
||||
|
||||
@Resource
|
||||
private IPayMeetingService payMeetingService;
|
||||
|
||||
@Resource
|
||||
private SysWaterMarkUtil sysWaterMarkUtil;
|
||||
/**
|
||||
* 分标委表-企业端分页列表查询
|
||||
*
|
||||
@@ -118,7 +119,7 @@ public class PayCaseCommitteeController extends JeroController<PayCaseCommittee,
|
||||
@ApiOperation(value="分标委表-企业端资料下载", notes="分标委表-企业端资料下载")
|
||||
@GetMapping(value = "download")
|
||||
public void download(
|
||||
@RequestParam(name = "fileId",required = true) String fileId
|
||||
@RequestParam(name = "fileId",required = true) String fileId, HttpServletRequest request
|
||||
) throws IOException {
|
||||
ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
|
||||
HttpServletResponse response = requestAttributes.getResponse();
|
||||
@@ -135,17 +136,22 @@ public class PayCaseCommitteeController extends JeroController<PayCaseCommittee,
|
||||
String hehe = new String(fileName.getBytes("utf-8"), "iso-8859-1");
|
||||
// 设置扩展头,当Content-Type 的类型为要下载的类型时 , 这个信息头会告诉浏览器这个文件的名字和类型。
|
||||
response.setHeader("Content-Disposition", "attachment;filename=" + hehe);
|
||||
download(url, response);
|
||||
download(url, response,request);
|
||||
}
|
||||
|
||||
|
||||
public void download(String url, HttpServletResponse res) throws IOException {
|
||||
public void download(String url, HttpServletResponse res, HttpServletRequest request) throws IOException {
|
||||
// 发送给客户端的数据
|
||||
OutputStream outputStream = res.getOutputStream();
|
||||
byte[] buff = new byte[1024];
|
||||
BufferedInputStream bis = null;
|
||||
// 读取filename
|
||||
bis = new BufferedInputStream(new FileInputStream(new File(upLoadPath+File.separator+url)));
|
||||
InputStream fileInputStream = new BufferedInputStream(new FileInputStream(upLoadPath + File.separator + url));
|
||||
//pdf加水印
|
||||
if ("pdf".equalsIgnoreCase(FileUtil.extName(url))) {
|
||||
fileInputStream = sysWaterMarkUtil.addWatermarkToPdf(fileInputStream, request);
|
||||
}
|
||||
bis = new BufferedInputStream(fileInputStream);
|
||||
int i = bis.read(buff);
|
||||
while (i != -1) {
|
||||
outputStream.write(buff, 0, buff.length);
|
||||
|
||||
+9
-2
@@ -9,6 +9,7 @@ import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.io.FileUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.constant.CommonConstant;
|
||||
@@ -41,6 +42,7 @@ import com.jero.meeting.vo.UploadFileVO;
|
||||
import com.jero.meeting.vo.excel.*;
|
||||
import com.jero.modules.oss.entity.OSSFile;
|
||||
import com.jero.modules.oss.service.IOSSFileService;
|
||||
import com.jero.modules.system.util.SysWaterMarkUtil;
|
||||
import com.jero.modules.system.volid.group.UpdateGroup;
|
||||
import com.jero.project.entity.PayWorkingGroup;
|
||||
import com.jero.project.service.IPayWorkingGroupService;
|
||||
@@ -112,6 +114,8 @@ public class PayMeetingController extends JeroController<PayMeeting, IPayMeeting
|
||||
private PayMeetingGuestsFileMapper meetingGuestsFileMapper;
|
||||
@Resource
|
||||
private PayMeetingStandardProjectService meetingStandardProjectService;
|
||||
@Resource
|
||||
private SysWaterMarkUtil sysWaterMarkUtil;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
@@ -518,7 +522,7 @@ public class PayMeetingController extends JeroController<PayMeeting, IPayMeeting
|
||||
*/
|
||||
@ApiOperation(value = "企业端会议下载资料", notes = "企业端会议下载资料")
|
||||
@GetMapping(value = "/userDownload/{id}/{meetingId}")
|
||||
public void download(@PathVariable String id, @PathVariable String meetingId, HttpServletResponse response, String type) {
|
||||
public void download(@PathVariable String id, @PathVariable String meetingId, HttpServletResponse response, HttpServletRequest request, String type) {
|
||||
LoginUser sysUser =(LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String sysUserId = sysUser.getId();
|
||||
PayMeeting payMeeting = payMeetingService.getById(meetingId);
|
||||
@@ -621,7 +625,10 @@ public class PayMeetingController extends JeroController<PayMeeting, IPayMeeting
|
||||
fileName = ossFile.getFileName();
|
||||
inputStream = MinioUtil.getMinioFile(MinioUtil.getBucketName(), url);
|
||||
}
|
||||
|
||||
//pdf加水印
|
||||
if ("pdf".equalsIgnoreCase(FileUtil.extName(fileName))) {
|
||||
inputStream = sysWaterMarkUtil.addWatermarkToPdf(inputStream, request);
|
||||
}
|
||||
ossFileService.updateById(ossFile);
|
||||
//LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
//if (loginUser.getIsCompanyUser()) {
|
||||
|
||||
Reference in New Issue
Block a user