티스토리 뷰

spring memo

web에서 ftp연결

고랑이. 2019. 10. 24. 14:21

ftp에 연결하는 경우,
web에서 ftp서버에 직접 연결하는 방법, 별도의 api를 통해 통신하는 방법이 있었다.

회사에서 사용하는 ftp이기 때문에
유지보수와 통일성을 위해 nodejs를 이용하여 ftp통신 api를 만들어
script에서 api와 ajax통신을 하도록 로직을 구성하였다.

- api
input : 파일경로, 파일
조건 : multiple max 50, exe파일은 저장하지 않음 
output : 파일 전체 경로, 파일명(날짜 + 기존 파일명)

 

-ajax

function ftpFileUpload(path, files){
	var form = new FormData();
	var result = "";
		
//ftp 파일 업로드 경로
	form.append("path", path);	
		
//업로드 할 이미지 파일
//form.append(param_name, blob, filename) - filename을 생략할 경우 기존 파일명으로 업로드
	form.append('input_file',files[0], 'img1.jpg');		
	form.append('input_file',files[1], 'img2.jpg');
		
//var url = api url;
	var settings = {
		"async" : false,
		"crossDomain" : true,
		"url" : url,
		"method" : "POST",
		"headers" : {"cache-control" : "no-cache",},
		"processData" : false,
		"contentType" : false,
		"mimeType" : "multipart/form-data",
		"data" : form
	}

	$.ajax(settings).done(function(response) {
		console.log(response);
		result = JSON.parse(response);
	});
}

 

파일을 호출할 때에는
리턴받은 값을 이용하여 "ftp-domain/path/filename" 으로 호출한다.

'spring memo' 카테고리의 다른 글

input에 전화번호 하이픈(-)넣기  (1) 2019.10.24
nodejs 비동기 문제  (0) 2019.10.24
map <-> json으로 변환  (0) 2018.08.29
scope 데이터 바인딩  (0) 2018.08.23
datePicker  (0) 2018.08.13
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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 31
글 보관함