none
FTP 파일 다운시 파일 내용 수정 반영이 안됩니다. RRS feed

  • 질문

  • FTP 에서 txt, dat 등 text 기반의 파일을 다운 받을 때 문제입니다.

    FTP 와 프로그램을 돌리는 곳 모두 제 컴퓨터 입니다.

    FTP 에 A 라는 파일이 있고 내용에 AAAA 라고 써있는 파일을 프로그램을 통해 받아옵니다.

    받아온 파일을 확인해보면 내용에 AAAA 라고 써있습니다.

    프로그램이 켜져 있는 상태에서 FTP에 있는 A 파일의 내용을 BBBB로 수정합니다.

    예전에 다운받은 A 라는 파일을 삭제하고 FTP 에서 새로 다운 받아옵니다.

    받은 파일의 내용을 확인하면 BBBB 라는 내용이 아닌 AAAA 가 들어있습니다.

    파일이 없어지거나 파일의 이름이 바뀌면 정상적으로 받아오지만,

    한번이라도 파일을 받은 후 이름이 같지만 내용이 다른 파일을 받아 올 시에 이전 내용의 파일을 다운 받습니다.

    명령 프롬프트에서 접속하여 get 으로 파일을 받아오면 수정한 내용이 정상적으로 반영되어 다운 되지만

    만들어놓은 프로그램으로 파일을 받게 되면 위와같은 현상이 발견 됩니다.

    프로그램에 문제가 있는 듯 하여 인터넷으로 다른 사람이 만들어놓은 FTP 파일 다운 프로그램을 받아보았지만

    제가 받은 2개의 프로그램이 전부 같은 현상이 나타납니다.

    해결책 좀 부탁드립니다.

    2016년 10월 14일 금요일 오후 12:29

답변

  • FtpGetFile API 함수 또는 CFtpConnection::GetFile 함수를 사용하신다고 가정하고 답변드리겠습니다.

    FtpGetFile 함수는 디폴트로 캐시를 사용하기 때문에 같은 파일을 다시 다운로드 하면

    빠르게 다운로드 하기 위해 캐시에 저장된 내용을 다운로드 하게 되어 이와 같은 현상이 발생하는 것으로 보입니다.

    이를 방지하기 위해서는 INTERNET_FLAG_RELOAD 플래그를 부여하여 캐시에 있는 내용을 다운로드하지 않고

    다시 변경된 내용을 다운로드 하도록 강제할 수 있습니다.

    • 답변으로 표시됨 긃륽 2016년 10월 17일 월요일 오전 4:57
    2016년 10월 17일 월요일 오전 12:02