我尝试使用批处理文件上传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文件始终已损坏。
我该怎么办?
谢谢和问候 的Thorsten
答案 0 :(得分:4)
ftp put
的默认模式是 ASCII ,因此文件将在第一个x 1a
(^ Z)字符处终止(自CP / M以来使用的古代EOF) )
在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
es的输出并将其输出到新文件ftpcmd.dat) (single
>` - 创建新文件;双重追加或创造)