기본적으로 동일 origin 간에는 onbeforeunload 이벤트를 걸어서 처리가 가능하다. var new_window = window.open('some url') new_window.onbeforeunload = function(){ /* my code */ } 하지만 다른 origin 간에는 동작하지 않는데 이를 우회할 수 있는 방법이 있다. var new_win = window.open('some url'); var timer = setInterval(function() { if (new_win.closed) { clearInterval(timer); hello(); } }, 1000); 출처: https://stackoverflow.com/a/48240128
어제 업로드에 이어 다운로드입니다. dependency는 https://cusonar.tistory.com/45 글을 참조해주세요. ID는 파일명입니다. 업로드에서 UUID 형식으로 파일을 저장했으므로 UUID를 ID에 넣어주시면 됩니다. FileController.java @RestController @RequestMapping("/files") @Slf4j public class FileController { @Value("${temp.path}") private String tempPath; @GetMapping("/{id}") public Resource download(@PathVariable String id) throws IOException { File file = new File(temp..
안녕하세요, 간만에 기술 글을 올리게 되네요. 다사다난했던 관계로 짬도 안났고, 게으르기도 했구요. 다시 한번 예전으로 돌아가 글을 열심히 써봐야겠어요^^ 오늘은 Spring boot에서 파일 업로드하는 것에 대해서 알아보겠어요. 프로젝트 생성시 Dependency는 Web, Devtools, Lombok 3개만 추가를 합니다. 추가적으로 파일 처리를 위해 Apache commons-io를 추가하겠습니다. build.gradle plugins { id 'org.springframework.boot' version '2.1.5.RELEASE' id 'java' } apply plugin: 'io.spring.dependency-management' group = 'com.cusonar' version = ..
DB 필드명에 prefix 한글자가 들어가는 경우 json 리턴 시 예상과는 다른 결과가 나왔다. 지금 사용하는 솔루션에서는 r_(readonly), i_(internal) 등의 prefix를 DB에서 사용하고 있다. 이 경우 문제가 발생하는데 예를 들면 r_object_id와 같은 필드를 myBatis로 rObjectId 필드로 매핑하고 있다. 당연히 {"rObjectId": "~~~"} 와 같이 나올줄 알았는데 결과는 {"robjectId": "~~~"} 와 같이 나오는 것이었다. 구글링을 해보니 jackson에서 이렇게 처리하고 있다고 하더라. 해결책은 spring boot 기준 application.yml 에서 spring: jackson: property-naming-strategy: com.c..
소스코드
- Total
- Today
- Yesterday
- 거품정렬
- 유아동겸용
- spring security
- angular2
- controller test
- Ajax
- 기내반입유모차
- 타보유모차
- Spring Boot
- styleUrls
- RouteConfig
- TypeScript
- angular
- test static import
- mockmvc
- CURL
- 머지소트
- 티지유모차
- routerLink
- 빠른 정렬
- templateUrl
- insert sort
- rest login
- angular 2
- routeParams
- 어드보케이트
- routing
- mybatis
- 알고리즘
- router-outlet
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |