现在位置:首页 » 开发手记 »

云主机FTP上传图片出错的问题

作者:失落的羊 ⁄ 时间:2017年12月30日 ⁄ 分类: 开发手记 评论:0 用Apache的FTPClient上传文件时发现一个问题,就是上传txt文件没问题,但上传zip文件时文件会被破坏,查了一下原因,原来是这样:
因为RFC 959中规定了缺省的传输模式应该是ASCII的,org.apache.commons.net.ftp.FTPClient实现也遵守此标准。所以org.apache.commons.net.ftp.FTPClient在缺省情况下是按ASCII形式进行传输的,如果你是传输的BINARY二进制文件(如zip),那么上传完后的文件就会被破坏,但是传输ASCII文件(如txt)是没有问题的。
 
所以如果你是传输的BINARY二进制文件的话,就需要在建立连接、登陆后,接下来设置文件类型,代码示例如下:
ftpclient.connect(host);
ftpclient.login(user, password);
ftpclient.setFileType(FTPClient.BINARY_FILE_TYPE);
这下就OK啦! 

FTP传输模式要设置成为二进制,否则图片文件等传输就会错误。

RzJPU1E4RWk4SHU1Qjl3b1VKd05ySTlhaHRmRTA0K2FaMEUybEh2Yi84LzB3MFZ4NTZyblZnPT0.jpg


本文标签: 程序人生 开发手记
上一篇: 一个关于file_put_contents的错误
下一篇:为何mp4文件无法导入Ipad?
目前有 0 条评论