NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • NGM 5
  • 매뉴얼

    NGM 5의 매뉴얼입니다.

    NGM 5

    NGM 5의 매뉴얼입니다.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    에디터 외부 API - FTP - 목록 (External API, FTP, File list)

    페이지 정보

    본문

    안녕하세요. 소심비형입니다.  오늘은 FTP 관련 액션의 마지막인 목록 가져오기에 대해 알아볼게요. 이미 파일 업로드 다운로드는 배웠기 때문에 목록 가져오기와 Foreach 반복 액션을 조합하면 FTP 서버의 특정 폴더에 있는 모든 파일들을 다운로드할 수 있습니다.

     

    이번 내용은 단순히 파일 목록만 가져오는게 아닌 Foreach 반복과 배열을 이용해서 모든 파일을 한 번에 다운로드하는 아주 어려운 예제입니다. 상당히 복합적인 사고가 필요하죠^^; 우선 간단한 테스트를 위해 아래와 같이 새로운 스크립트를 추가합니다.

    File > 새로 만들기 > 스크립트 (단축키: Ctrl+N)

    img.png

     

     

    앞의 FTP 연결과 끊기 메뉴얼을 참고해서 미리 서버에 연결되어 있어야 합니다. 그리고, 아래 그림을 참고하여 스크립트에 FTP 목록 액션을 추가합니다.

    1. 우측 하단에 외부 API 탭 클릭
    2. FTP 카테고리에 목록 클릭
    3. 드래그 앤 드롭으로 스크립트에 추가
    4. 우측 하단에 속성 탭 클릭
    img.png

     

     

     

    목록을 가져와야 하므로, FTP서버에 아래처럼 파일을 5개 올려놓습니다. 내용이 없는 txt 파일을 5개 만들어서 서버로 미리 업로드해두었습니다. 예제를 위해서 말이죠^^;

    img.png

     

     

     

    목록 액션의 속성을 아래 그림처럼 설정합니다. 하위 폴더가 없기 때문에 False로 설정하세요. 만약, 하위 폴더를 만들고 파일들을 넣어두었다면 True로 변경하면 됩니다.

    1. 서버 경로에 파일들이 들어있는 폴더까지 경로를 입력 (루트에 있다면 "/"만 입력하면 됨)
    2. 하위 폴더는 False로 설정
    img.png

     

     

     

    실행하면 아래 그림처럼 파일 목록을 표시해줍니다.

    1. 스크립트에 추가한 목록 액션 클릭
    2. 속성의 데이터 카테고리에 있는 파일 목록 확장
    img.png

     

     

     

    서버에 올린 파일 5개의 목록이 표시됩니다. 이렇게 FTP서버의 특정 폴더에 있는 파일 목록을 배열 형태로 가져올 수 있습니다. 이 파일들을 순차적으로 다운로드하려면 Foreach 반복을 사용합니다. 아래 그림처럼 Foreach 반복 액션을 추가하세요.

    1. 좌측 하단에 함수 상자 탭 클릭
    2. 변수 추가 클릭
    3. 스크립트로 드래그 앤 드롭으로 추가
    4. 아이디에 "파일 목록" 입력
    5. 변수 형식은 배열(Array) 선택
    6. 함수의 Foreach 반복 클릭
    7. 스크립트로 드래그 앤 드롭으로 추가
    img.png

     

     

     

    Foreach 반복에서 파일을 다운로드 해야하기 때문에 아래 그림처럼 FTP의 다운로드 액션을 추가해줍니다.

    1. 우측 하단의 외부 API 탭 클릭
    2. FTP 카테고리의 다운로드 선택
    3. 스크립트로 드래그 앤 드롭으로 추가
    4. 속성 탭 클릭
    img.png

     

     

     

    목록에서 가져온 파일들을 변수에 저장시켜야 합니다. 그래야 Foreach 반복에서 사용할 수 있기 때문이죠~ 아래 그림을 참고하여 변수를 설정합니다.

    1. 스크립트의 목록 액션 선택
    2. 변수 추가하기 버튼 클릭
    3. 컬렉션 편집기에서 추가 클릭
    4. 데이터에 파일 목록 선택
    5. 변수 이름에 파일 목록 선택
    6. 확인을 클릭하여 작업 완료
    img.png

     

     

     

    파일 목록에서 파일명으로 반복해야 하기 때문에 파일명을 담을 변수를 아래 그림처럼 하나 추가합니다.

    1. 변수 추가 선택
    2. 드래그 앤 드롭으로 스크립트에 추가
    3. 아이디에 "파일명" 입력
    img.png

     

     

     

    아래 그림처럼 Foreach 반복을 설정합니다. 그리고 변수에 저장된 파일 목록을 가져옵니다.

    1. 스크립트에 추가한 Foreach 반복 선택
    2. 변수의 가져오기 클릭
    3. 컬렉션 편집기에서 추가 클릭
    4. 데이터에 배열 선택
    5. 변수 이름에 파일 목록 선택
    6. 확인을 클릭하여 작업 완료
    img.png

     

     

     

    파일명을 변수에 저장하기 위해 아래와 같이 설정합니다.

    1. Foreach 반복 선택
    2. 변수에 추가하기 클릭
    3. 컬렉션 편집기에서 추가 클릭
    4. 데이터에 아이템 선택
    5. 변수 이름에 파일명 선택
    6. 확인을 클릭하여 작업 완료
    img.png

     

     

     

    아래 그림처럼 다운로드를 설정하세요.

    1. 다운로드 액션 선택
    2. 파일을 다운로드 할 로컬 경로 선택 (바탕화면 선택)
    3. 변수의 가져오기 클릭
    4. 컬렉션 편집기의 추가 클릭
    5. 데이터에 서버 파일 전체 이름 선택
    6. 변수 이름에 파일명 선택
    7. 확인을 클릭하여 작업 완료
    img.png

     

     

     

    완성된 스크립트를 실행하면 아래 그림처럼 FTP 서버에 있는 모든 파일을 바탕화면으로 다운로드하게 됩니다. 여러분도 로컬 컴퓨터에 간단한 FTP 서버를 구성하고 테스트해보시길 바랍니다. FTP는 아주 오래된 기술이라서 관련 레퍼런스가 많습니다. 조금만 검색해보면 누구나 쉽고 빠르게 구성할 수 있을 겁니다. 10개도 안 되는 액션인데... 글이 엄청 길어져 버렸네요-_-;

    img.gif

     

     

    속성 정보

    img.png

     

     

     기본 작업

    • 사용 여부: 이 액션의 사용 여부를 설정합니다. False로 설정하면 이 액션은 실행되지 않습니다.
    • 설명: 이 액션의 부가적인 설명을 입력합니다.
    • 실행 전 지연: 이 액션이 실행되기 전 지연 시간을 입력합니다.
    • 실행 후 지연: 이 액션이 실행된 후 지연 시간을 입력합니다.
    • 아이디: 스크립트 내에서 유니크한 아이디를 입력합니다.

     

     

    데이터

    • 파일 목록: 지정한 폴더에 있는 파일의 목록을 표시합니다.

     

     

    변수

    • 가져오기: 글로벌 또는 로컬 변수에 저장되어 있는 값을 이 액션의 속성 값으로 가져옵니다.
    • 추가하기: 이 액션의 속성 값을 글로벌 또는 로컬 변수에 저장합니다.

     

     

    작업

    • 바이너리: FTP 서버로 파일을 다운로드할 때 바이너리 형식을 사용합니다.
    • 서버 경로: 목록을 가져올 서버의 폴더 위치입니다.
    • 패시브 모드: 클라이언트 응용 프로그램의 데이터 전송 프로세스를 패시브 모드로 사용합니다. 
    • 하위 폴더: 이 값을 True로 설정하면 서버 경로 하위의 폴더의 파일도 모두 가져옵니다.

     

     

    패시브 모드란?

    참고로, 패시브 모드를 사용하면 로컬 컴퓨터의 방화벽이 경고를 표시하지 않습니다. 이는 FTP에 대해 깊은 이해(?)가 있어야 합니다. 기본 값은 Active Mode입니다. Active Mode에서는 클라이언트가 서버에 파일을 업로드하거나 다운로드할 때 서버도 클라이언트에 접속 요청을 하게 됩니다. 그렇기 때문에 외부에서 들어오는 알 수 없는 서버에 대해 윈도우가 경고창을 표시하는 것입니다. 이 문제를 개선한 방식이 패시브 모드입니다.

     

    개발자에게 후원하기

    img.jpg

     

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.