java通过minio下载pdf附件
一、java通过minio下载pdf附件getObject方法
@Resource
private MinioClient minioClient;
public void getObject(String fileName,String originalName, HttpServletResponse response) throws IOException {
InputStream inputStream = null;
OutputStream outputStream = null;
try {
String filePath = "/";
GetObjectArgs build = GetObjectArgs.builder().bucket("桶名").object(filePath + fileName).build();
inputStream = minioClient.getObject(build);
response.setContentType("application/pdf;charset=utf-8");
response.setCharacterEncoding("utf-8");
String encodedFileName = URLEncoder.encode(originalName, "UTF-8").replace("+", "%20");
response.setHeader("Content-disposition", "attachment;filename=\"" + encodedFileName + "\"");
outputStream = response.getOutputStream();
byte[] buffer = new byte[4096];
int bytesRead;
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
} catch (Exception e) {
e.printStackTrace();
throw new BizException("附件下载失败,请重试");
} finally {
inputStream.close();
outputStream.close();
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40