VSS中加入pdf无法打开

解决方法:在vss的客户端的option中,file type选项卡里,在binary file文本框中,加入*.pdf即可(一定要注意,不要忘了加分号或是逗号,具体是分号还是逗号我忘了,一般vss都会默认有几个文件类型在binary file中),
加入这个二进制文件类型以后上传的pdf文件,都不会出现无法打开的错误。
小提示,如果在vss admin管理端的option中file type选项卡里设置binary file的话,
在vss客户端重新打开以后,就不用再手动设置binary file了。

下面说下原理:
有人说这是vss的一个bug,其实不是的,这是微软系统对待文本的一个处理方式。
在windows中,所有换行都是回车换行,有什么区别呢?其实在linux等操作系统里,
换行只有\n即\x0A,在windows中换行其实是\r\n即\x0D\x0A。
在上传pdf文件时,微软把pdf文件认为是文本文件,所以,把所有没有\r的换行符\n,
全都替换成了\r\n。
其实pdf不是文本文件,所以从vss取得后,打开解析时会出错。
当我们把pdf文件设置成二进制文件时,微软就不会把单个\n替换成\r\n。

问题:

我用VSS上传一个文件到服务器,PDF格式的,大小一个是6m,一个是14M,传上去之后,我VSS上打开它,发现里面内容都是空的。我get latest version到本地,打开也是空的,就是里面内容都为空白
请问这个是什么原因呢?
解 决方案:如果你用的是VSS2005 那么VSS2005中确实存在这个已知bug,解决方案是装上KB943847补丁,你可以到这个链接下载这个补丁 http://www.microsoft.com/en-us/download/details.aspx?id=291

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注