lkd9125
11 months ago
2 changed files with 59 additions and 1 deletions
@ -0,0 +1,57 @@ |
|||||||
|
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 = "/Users/igyeongdo/WokrSpace/files/3-1. 팔_부스디자인.pdf"; |
||||||
|
|
||||||
|
@GetMapping("/pdf-download") |
||||||
|
public void pdfDownload(){ |
||||||
|
|
||||||
|
try (InputStream inputStream = new FileInputStream(new File(BASE_URL)); |
||||||
|
OutputStream outputStream = response.getOutputStream()) { |
||||||
|
|
||||||
|
String fileOriName = "3-1. 팔_부스디자인.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) { |
||||||
|
// 애플리케이션 요구에 맞게 예외 처리
|
||||||
|
e.printStackTrace(); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue