java FTPClient로 ftp서버에서 txt 파일은 잘받아오고 실행도 잘됩니다. 그런데 exe 파일을 받아올때에는 파일의 크기도 살짝 다르게 다운로드가 되고, 실행하려하면 "현재 PC에서는 이 앱을 실행할 수 없습니다." 라고 뜨면서 실행이 되지 않습니다.
혹시, 이 에러에 대해 아시는분 계신가요??
십중팔구 전송 모드 문제인 듯.
운영체제 사이에 보통 텍스트 파일에서의 개행문자를 나타내는 방식이 다르기 때문에, ftp를 "텍스트 모드" (혹은 "아스키 모드" 등등. 이름은 다양합니다만)로 설정하면 개행 문자가 적절히 변환되어 전송됩니다.
exe파일과 같은 바이나리 파일은 그렇게 전송하면 반드시 깨지므로, "바이나리 모드"라고 따로 설정해 줘야 됩니다.
말씀하신대로 바이너리모드로 파일모드를 바꾸어주니까 해결이 되었습니다.
0A를 0D 0A로 바꾸어주고, 0D 0A는 그대로 두네요. 감사합니다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
십중팔구 전송 모드 문제인 듯.
십중팔구 전송 모드 문제인 듯.
운영체제 사이에 보통 텍스트 파일에서의 개행문자를 나타내는 방식이 다르기 때문에, ftp를 "텍스트 모드" (혹은 "아스키 모드" 등등. 이름은 다양합니다만)로 설정하면 개행 문자가 적절히 변환되어 전송됩니다.
exe파일과 같은 바이나리 파일은 그렇게 전송하면 반드시 깨지므로, "바이나리 모드"라고 따로 설정해 줘야 됩니다.
말씀하신대로 바이너리모드로 파일모드를 바꾸어주니까
말씀하신대로 바이너리모드로 파일모드를 바꾸어주니까 해결이 되었습니다.
0A를 0D 0A로 바꾸어주고, 0D 0A는 그대로 두네요. 감사합니다.
댓글 달기