Ftp 会破坏我的 gif 吗?

Ftp 会破坏我的 gif 吗?

使用以下脚本,我将 gif 上传到我的 ftp 服务器。脚本似乎可以工作,但当我尝试在浏览器中访问图像时,它们就坏了。知道为什么吗?

#!/bin/sh                                   
HOST='myftp'                       
USER='mylogin'                              

ftp -n $HOST <<END_SCRIPT                   
quote USER $USER                            
quote PASS $1                               
put $2                                      
quit                                        
END_SCRIPT                                  
exit 0     

答案1

您的图像以网络 ASCII 模式而不是二进制模式上传。

网络 ASCII 模式在传输文本文件(纯文本、HTML 等)时非常有用。例如,如果您将文本文件从运行 Windows 的客户端传输到运行 Linux 的服务器,它会自动将所有 Windows 换行符 ( 13 10) 转换为 Unix 换行符 ( 10) 并添加尾随文件结束符 ( 10)。

显然,这会在传输图像等二进制文件时导致文件损坏。

要切换到二进制模式,请先执行以下命令put

binary

FTP 服务器

ascii    Set the file transfer type to network ASCII.
         This is the default type.

binary   Set the file transfer type to support binary image transfer.

相关内容