您的位置:首页 > 编程语言 > PHP开发

关于从FTP方式从另一台机得到的EXCEL文件打不开的问题

2009-01-03 17:13 441 查看
问题描述:将A机生成的EXCEL文档通过FTP方式PUT到B机上. A机为UNIX系统 B机为WINDOWS系统. 执行代码如下:

ftp -n $IP <<!
user ${USER} ${PASS}
asc
prompt off
lcd ${localIDR}
put ${fileName}
close
bye
!

结果当A机把文件PUT到B机的目录中后,在B机上打开文档时出现错误 "该文件可能是只读的,或者您要访问的位置是只读的,或者文件所在的服务器没有响应" 我一看该文件的属性,居然只有"常规"一个页框,正常情况下应该有"常规" "自定义" "摘要"三个页框. 在网上找了半天也没有找到类似的问题.

后来我尝试用FTP工具如leapftp来实现这个下载文件的过程,用这个工具把文档从A机下载到B机上,打开可以成功打开EXCEL文档. 我就纳闷了,为什么用程序却不能实现? 后来仔细观察FTP工具的日志[Opening BINARY mode data connection for ....] 明白了,原来问题就出现在数据的传输模式上, FTP工具的传输模式是BINARY mode(二进制模式) 而我的程序中用的是asc模式, 于是把程序中的改为binary模式,再执行一遍,得到的文件正常,可以成功打开. 问题解决.

在文件的传输模式上binary 和asc的区别是什么呢? 下次要好好研究一下, 为什么EXCEL文档不能用asc模式传输呢?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: