leehagjoon(이학준)
11 months ago
2 changed files with 60 additions and 1 deletions
@ -0,0 +1,58 @@
|
||||
package com.palnet.biz.api.comn.controller; |
||||
|
||||
import java.io.File; |
||||
import java.io.FileInputStream; |
||||
import java.io.IOException; |
||||
import java.io.InputStream; |
||||
import java.io.OutputStream; |
||||
import java.net.URLEncoder; |
||||
import java.nio.charset.StandardCharsets; |
||||
|
||||
import javax.servlet.http.HttpServletResponse; |
||||
|
||||
import org.springframework.http.MediaType; |
||||
import org.springframework.web.bind.annotation.GetMapping; |
||||
import org.springframework.web.bind.annotation.RequestMapping; |
||||
import org.springframework.web.bind.annotation.RestController; |
||||
|
||||
|
||||
import lombok.RequiredArgsConstructor; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
|
||||
@RestController |
||||
@Slf4j |
||||
@RequestMapping("/api/comn") |
||||
@RequiredArgsConstructor |
||||
public class ComnController { |
||||
|
||||
private final HttpServletResponse response; |
||||
|
||||
private final String BASE_URL = "/data/pdf/3-1.paldesign.pdf"; |
||||
|
||||
@GetMapping("/pdf-download") |
||||
public void pdfDownload(){ |
||||
log.error("ComnController - pdfDownload()"); |
||||
|
||||
try (InputStream inputStream = new FileInputStream(new File(BASE_URL)); |
||||
OutputStream outputStream = response.getOutputStream()) { |
||||
|
||||
String fileOriName = "3-1.paldesign.pdf"; |
||||
fileOriName = URLEncoder.encode(fileOriName, StandardCharsets.UTF_8); |
||||
|
||||
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); |
||||
response.setCharacterEncoding(StandardCharsets.UTF_8.name()); |
||||
response.setHeader("Content-Disposition", "attachment; filename=\"" + fileOriName + "\""); |
||||
|
||||
byte[] buffer = new byte[1024]; |
||||
int length; |
||||
|
||||
while ((length = inputStream.read(buffer)) != -1) { |
||||
outputStream.write(buffer, 0, length); |
||||
} |
||||
|
||||
} catch (IOException e) { |
||||
|
||||
log.error("error -> {}", e.getMessage()); |
||||
} |
||||
} |
||||
} |
Loading…
Reference in new issue