스프링(Spring) Byte[] 통해서 MariaDB BLOB 이미지 Insert 하기

이미지
https://infondgndg91.blogspot.com/2018/07/input-typefile-multiple.html  에서 <input type="file multiple />태그를 이용해서 이미지를 브라우저 화면에서 업로드하고 뿌려주는 작업을 해보았다. 지금부터 얘기할 작업은 MultipartHttpServletRequest를 통해서 이미지파일들을 Controller에서 byte 배열로 처리해주고 MariaDB의 BLOB 타입의 컬럼에 인서트 하는 일이다. 먼저 pom.xml에 file업로드 관련 디펜던시를 추가해준다. 버전은 호환성에 맞게 알아서 맞춰주어야 할 것 같다. <!-- file업로드 --> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version> </dependency> 본인의 환경설정 경로는 아래와 같이 web.xml에 되어있다. <!-- 스프링의 환경설정 파일 로딩 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring/root-context.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> root-context.xml파일에 아래와 같이 ...

input 태그 type="file" multiple 화면에 이미지 뿌려주기

먼저 HTML 코드이다. CSS는 Bootstrap을 사용했다. Bootstrap은 CDN을 통해 임포트를 해준다. <link rel= "stylesheet" href= "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" > <div class="row"> <div class="col-25"> <label for="pic">근무지 사진</label> </div> <div class="col-75"> <div> <input type="file" id="input_imgs" multiple name="files[]" maxlength="3"/> </div> <div> <div class="imgs_wrap"> </div> </div> 그다음 javascript와 jQuery jQuery또한 CDN을 통해서 임포트 해준다. 아래의 코드는 input태그의 변화가 생겼을 때, 즉 이미지를 업로드 할 경우에, handleImgsFilesSelect라는 함수가 실행되도록 짜여졌다. handleImgsFilesSelect함수는 input태그에서 업로드된 사진을 a태그와 img태그로 구성된 조합의 태그에서 img 태그 src 안에 넣고 imgs_wrap클래스의 div 태그에 append 처리를 해주는 함수이다. 그리고 a태그의 href 속성에 deleteImageAction()함수를 실행시키도록 처리를 해놓았다. <script  src=...

SQL developer IO Undefined Error 해결

이미지
보통 제일 먼저 확인 하는것들이.. 1. 호스트가 맞는지, 2. 포트번호가 맞는지, 3. sid가 맞는지, 4. 방화벽이 열려있는지 등등을 확인하는데 이것들이 제대로 설정되었음에도 IO오류 Undefined Error가 날 괴롭힐 때, 한시간을 넘게 삽질하다가 알아낸 결과는 정말 단순했다. 윈도우 계정이 한글로 되어있어서였다... 따라서 아래처럼 해주면,, 간단하게 해결되었다.

Window IIS 설정하기

이미지
1.제어판을 킨다. 2.프로그램 및 기능 을 들어간다. 3.윈도우 기능 켜기/끄기 4.인터넷 정보 서비스 체크 5. 웹관리 도구 밑에3개 체크확인 아래와 같이 체크확인 그리고 확인누르면 아래처럼 설정 적용 그리고 완료 메시지 Window 검색에서 iis 관리자를 검색해서 킨다. 아래에서 서버에대해 설정을 할 수 있다. 디폴트 경로는 여기다. C:\inetpub\wwwroot 서버가 돌아가고 있다면 브라우저를 키고 localhost 127.0.0.1 들어간다. 디폴트 port는 80번이다. 서버 설정은 바로 위에서 말한 iis 관리자에서 설정이 가능하다.

대학생 코딩 과제 대행 java, python, oracle 스물 두 번째

이미지
https://open.kakao.com/o/s3aMpbA 자바 과제인데 외국대학교인듯 하다. 학기가 마무리되고 한 동안 의뢰가 없다가 몇몇이 들어왔었는데 요즘 일이 많아서 귀찮아서 건너뛰다가 오랜만에 다시 시작했다. 요구사항은 아래와 같다. 열거타입 enum과 상속을 통한 다형성을 이용하여 2차원 배열에 객체들을 다루는 과제의 내용이였다. Entity라는 부모 클래스를 가지고 Dragon, Hero, Crate 등 세가지 종류의 객체를 가지고 좌표값을 이동하면서 아이템을 습득하고 용을 죽이는 그런?? 게임이다. 총 7개의 java 파일이라서 소스코드를 올리기엔 지저분해서 생략

Synology NAS에 MariaDB 10에 Mysql workbench로 원격접속하기

이미지
본인이 사용하는 NAS에 마리아디비 및 phpmyadmin이 이미 설치되었다고 깔고 진행하려고 한다. 포트 3307! 제일 먼저 방화벽 열어주기~ workbench에서 ip주소대신 도메인을 사용하기위해서 IPTIME 공유기에서 포트포워딩 해주기 마지막 workbench에서 사용하기 아까 설정한 ddns 를 Hostname에다가 포트번호는 3307 계정새로 생성하고 외부접속 허용해주는 절차와 보다 상세한 내용은 아래 블로그에서 링크~ https://m.blog.naver.com/PostView.nhn?blogId=oioi9i&logNo=220408830865&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F http://zetawiki.com/wiki/MySQL_%EC%9B%90%EA%B2%A9_%EC%A0%91%EC%86%8D_%ED%97%88%EC%9A%A9

ubuntu에서 mysql timezone 설정 Asia/Seoul 로~~~~~~

구글 클라우드 플랫폼을 이용해서 ubuntu 16.04 lts에 mysql 을 설치해서 사용하는데 시간이 자꾸 한국시간보다 -9시간 되서 뜨는 문제가 발생했다. 구글링을 해보니 timezone을 바꾸라는데... set time_zone='Asia/Souel'; 뭐 이렇게 해주라는데,,, ERROR 1298 (HY000): Unknown or incorrect time zone: 'Asia/Souel' 이런 에러가 날아온다. 뭐지?? 하고 구글링을 더했다. 아래와 같이 여기서  https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=1654  해주라고 하는데,, 이방법도 안통한다.. 2. time_zone 변경시 확인사항 타임존설정 변경이 가능한 경우 mysql> use mysql Database changed mysql> select * from time_zone_name where name='KST'; +------+--------------+ | Name | Time_zone_id | +------+--------------+ | KST | 1652 | +------+--------------+ 1 row in set (0.00 sec) 타임존설정 변경이 불가능한 경우 mysql> use mysql Database changed mysql> select * from time_zone_name where name='KST'; Empty set (0.00 sec) 타임존설정 변경이 불가능한 경우라도 time_zone 데이타베이스 구축하면 타임존설정 변경이 가능해진다. 3. time_zone 데이타베이스 구축 호스트 머신의 time_zone 데이타를 mysql에서 사용가능한 데이타로 컨버팅하기 위해서는 mysql_tzinfo_to...