2008-11-14 2 views
0

일부 사과 DMG 파일을 FTP로 보내려고합니다. Safari 또는 IE를 통해 손으로 직접 작업하는 경우 목적지에서 정상적으로 처리되고 손상되지 않습니다. 그러나, 만약 우리가 zip과 exe의 위대한 성공을 위해 사용했던 프리웨어 FTP 클라이언트를 사용하거나, Powershell 스크립트를 사용했다면 (다른 stackover flow의 질문의 답을 수정 한 것), 나는 1/2 Mb 정도를 잃게됩니다. 10.5 Mb 파일이고 dmg가 손상되었습니다. 누구든지 잘못 될 수있는 anyclues 있나요? 내가 그것을 막기 위해 할 수있는 일? 지금까지 제가 시도한 것은 dmg을 보내는 것 전에 gzip으로 보내는 것입니다. 다시 말하지만, dmg를 제외하고는 아무 문제가 없습니다. 클라이언트가 텍스트 파일로 데미지 파일을 처리 같은FTP를 통한 Apple DMG 파일이 왜 손상됩니까?

+0

누구나 알고 있습니다. 내 PowerShell 스크립트와 똑같은 문제가 발생한 클라이언트가 있어야합니다. StreamReader를 사용하여 전송 바이트를 가져 왔으며 올바르지 않은 인코딩을 가정합니다. 내가하지 않는 BinaryReader로 바꿨다. 이제 작동한다. – Alex

+0

답변으로 게시해야합니다. 자신 만의 질문에 답하는 것이 좋습니다. – EBGreen

답변

0

모두들 알고 있습니다. 내 PowerShell 스크립트와 똑같은 문제가 발생한 클라이언트가 있어야합니다. StreamReader를 사용하여 전송 바이트를 가져 왔으며 올바르지 않은 인코딩을 가정합니다. 내가하지 않는 BinaryReader로 바꿨다. 이제 작동한다.

1

가 보이지만 그 it..thx되지 않도록

는 참고로 나는, 바이너리 모드 전송을 사용하고 있습니다. ftp 클라이언트에서 바이너리 전송 모드를 설정하면 그대로 ftp됩니다.

나는 항상 ftp에서 ascii 전송 모드가 단순한 바보라고 생각했다. 그것은 더 많은 문제를 일으킨다.

1

DMG를 제외한 모든 항목이 올바르게 전송 되었습니까? 전송 인코딩에 문제가있는 것처럼 들립니다. FTP는 역사적인 수하물 때문에 바이너리 및 ASCII 전송 유형을 모두 지원합니다. 옛날에는 대역폭이 더 심할 때 높은 비트 (ASCII는 사용하지 않음)를 벗어나면 좋은 시간을 절약 할 수있었습니다. 그러나 비트 세트가있는 바이트가 있으면 ASCII 전송 모드에서이 비트를 잃어 버립니다. 따라서 "자르기"모드에서는 아무 것도 자르지 않습니다.

일반적으로 전송 모드를 전환하는 명령은 "bin"또는 "ascii"입니다.

관련 문제