点拨论坛,菜鸟家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

教程经验总索引TVMW5/小日本5 索引【视频转换】小日本4/TE4XP 索引【视频转换】TAW4 / TDA3 索引【DVD打包软件】
Nero 索引DVD-Lab 索引【DVD打包软件】编解码器 索引 【必读】固顶帖011号
查看: 1089|回复: 0
收起左侧

[经验] ftp上传文件后大小改变问题的解决

[复制链接]

9299

威望

61万

金钱

1万

贡献

管理员

自由的灵魂

Rank: 9Rank: 9Rank: 9

积分
712081
主题
4909
帖子
30512
注册时间
2003-4-10
最后登录
2019-12-5
发表于 2015-7-17 20:05:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
来源:http://www.cnblogs.com/leipei2352/archive/2011/05/25/2056159.html原文发表于2010-09-17 16:49:48 网易博客


    前不久,在和另外一个系统做ftp上传联调时,上传过去的文件大小和本地大小一直对不上.

    后面将文件传输模式设置为binary,在put之前输入binary生效,就好了.这才知道ftp上传文件时默认是文本模式而不是二进制模式.

    2011年5月25日00:35分补充:

    http://dev.firnow.com/course/6_s ... 0090309/160187.html

    ASCII模式和Binary模式的区别是回车换行的处理,Binary模式不对数据进行任何处理,ASCII模式将回车换行转换为本机的回车字符,比如:UNIX下是\n,Windows下是\r\n,Mac下是\r。

    ASCII模式下会转换文件,不能说是不同系统对回车换行解释不同,而是不同的系统有不同的行结束符。UNIX系统下行结束符是一个字节,即十六进制的0A,而Windows的系统是两个字节,即十六进制的0D0A,所以当你用ASCII方式从UNIX的FTP Server下载文件到Windows系统上时(不管是二进制或者文本文件),每检测到一个字节是0A,就会自动插入一个0D,所以如果你的文件是二进制文件,比如可执行文件、压缩包什么的,就肯定不能用了。如果你的文件就是UNIX下的文本文件,你用ASCII模式是正确的,要是误用了Binary模式,你在Windows上看这个文件是没有换行的,里面是一个个的黑方块。

    一般来说,我们最好都用Binary方式,这样可以保证不出错。如果有文本格式转换的问题,即UNIX格式的文本和DOS格式的文本之间的转换,有很多工具可以做的,不要在ftp传输的时候冒险,尤其是你如果对这些东西不是非常清楚的话。


IsaacZ的发言中如果提到任何字母缩写或专有名词,在本论坛中一般都能搜索到。点此立即搜索点拨论坛。如有搜索不到的,请尝试搜索百度百科,或者跟帖提问。
发帖前请注意看置顶帖。如果你发现自己的问题没有得到回答,说明你的问题提错了地方或者提问前未先阅读本版规则固顶帖011号
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|点拨网 - 面向新手的教学站

GMT+8, 2019-12-6 03:12 , Processed in 0.149921 second(s), 13 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表