Загрузить PNG через пакетное изображение повреждает - PullRequest
0 голосов
/ 26 апреля 2018

Я пытаюсь загрузить png-файл с командным файлом:

@ECHO OFF
echo user MYUSERNAME>> ftpcmd.dat
echo MYPASSWORD>> ftpcmd.dat
echo put C:\1234.png>> ftpcmd.dat
echo quit>> ftpcmd.dat
ftp -n -s:ftpcmd.dat my-ftp-server.com
del ftpcmd.dat
goto Ende
:Ende
pause

Загрузка работает, но файл png всегда поврежден.

Что я могу сделать?

Спасибо и привет Торстен

1 Ответ

0 голосов
/ 26 апреля 2018

Режим по умолчанию для ftp put - ASCII , поэтому файл будет завершен с первым символом x 1a (^ Z) (древний EOF, использованный после CP / M)

Перед командой put добавьте дополнительную строку

echo binary>> ftpcmd.dat

для переключения в двоичный режим.

Может быть проще в использовании

@ECHO OFF
(
echo user MYUSERNAME
echo MYPASSWORD
echo binary
echo put C:\1234.png
echo quit
)>ftpcmd.dat
ftp -n -s:ftpcmd.dat my-ftp-server.com
del ftpcmd.dat
pause

, который соберет выходные данные echo в скобках и выведет их в новый файл ftpcmd.dat) (single> `- создать новый файл; двойное добавление или создание)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...