日期:2014-05-20  浏览次数:20906 次

大神求助,将本地pdf文件上传到FTP服务器后,打开什么都没有
将本地pdf文件上传到FTP服务器,打开后一片空白,上传源代码:
/**
 * Description: 向FTP服务器上传文件
 * @param url FTP服务器hostname
 * @param port FTP服务器端口
 * @param username FTP登录账号
 * @param password FTP登录密码
 * @param path FTP服务器保存目录
 * @param filename 上传到FTP服务器上的文件名
 * @param input 输入流
 * @return 成功返回true,否则返回false
 */
public static boolean uploadFile(String url,int port,String username, String password, String path, String filename, InputStream input) {
boolean success = false;
FTPClient ftp = new FTPClient();
try {
int reply;
ftp.connect(url, port);//连接FTP服务器
//如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器
ftp.login(username, password);//登录
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return success;
}
ftp.changeWorkingDirectory(path);
ftp.storeFile(filename, input);

input.close();
ftp.logout();
success = true;
} catch (IOException e) {
e.printStackTrace();
} finally {
if (ftp.isConnected()) {
try {
ftp.disconnect();
} catch (IOException ioe) {
}
}
}
return success;
}

测试方法:
public static void main(String[] args) throws Exception{
try{
InputStream in = new FileInputStream(new File("E:/DA1_2013_0000017680.pdf"));
boolean flag = uploadFile("127.0.0.1", 21, "test", "test", "C:/FTP上传", "kkk.pdf", in);
System.out.println(flag);
} catch (Exception e) {
e.printStackTrace();
}
}
,
上传txt格式的文件是正常的,下图是上传到FTP服务器之后的打开的txt文件:
上传到FTP之后打开的pdf文件:
而且文件大小显示也正常

------解决方案--------------------
引用:
Quote: 引用:

ftp.setFileType(FTP.BINARY_FILE_TYPE, FTP.BINARY_FILE_TYPE);
ftp.setFileTransferMode(FTP.BINARY_FILE_TYPE);

试试这个

帖子的原地址  这个网站很有名
http://stackoverflow.com/questions/5925572/ftpclient-java-upload-file
 胖哥威武


 我离威武还有段距离 就是写代码的时间比较长而已 不精 遇到问题知道怎么去查