[java] Java Jersey에서 파일 다운로드 시 파일 이름을 지정하는 방법은?
Java Jersey는 웹 애플리케이션을 개발하기 위한 자바 프레임워크입니다. 파일 다운로드 시에는 Response 객체를 사용하여 다운로드할 파일의 내용과 함께 파일 이름을 전달해야 합니다.
아래는 파일 다운로드 시 파일 이름을 지정하는 예제 코드입니다.
@GET
@Path("/download")
public Response downloadFile() {
// 다운로드할 파일 정보 가져오기
File file = new File("경로/파일명");
// 파일 이름 인코딩
String encodedFileName = new String(file.getName().getBytes("UTF-8"), "ISO-8859-1");
return Response.ok(file, MediaType.APPLICATION_OCTET_STREAM)
.header("Content-Disposition", "attachment; filename=\"" + encodedFileName + "\"")
.build();
}
위 코드에서 파일명
은 다운로드할 실제 파일의 경로와 파일 이름으로 바꿔주시면 됩니다. encodedFileName
은 파일 이름을 인코딩하는 과정입니다. 인코딩을 하여 특정 문자들을 처리해줍니다.
Response.ok()
메서드에 다운로드할 파일과 MediaType
을 전달하여 Response
객체를 생성합니다. 그리고 header()
메서드를 사용하여 Content-Disposition
헤더를 설정하고, 파일 이름을 지정합니다.
이렇게 하면 파일 다운로드 시 지정한 파일 이름으로 다운로드가 진행됩니다.
자세한 내용은 Java Jersey 공식 문서를 참고하시면 도움이 됩니다.