先连接ftp服务器并做了以下设定:FTPClient ftp =  new FTPClient();
ftp.setFileType(FTPClient.BINARY_FILE_TYPE); 
ftp.enterLocalPassiveMode(); 然后使用
InputSteam input= ftp.retrieveFileStream(FileName);获取文件流最后在另外一个方法中连接连接服务器
FTPClient ftp =  new FTPClient();
ftp.setFileType(FTPClient.BINARY_FILE_TYPE); 
ftp.enterLocalPassiveMode(); 最后用
BufferedInputStream bis = new BufferedInputStream(input);
ftp.storeFile(savedFileName, bis);将文件上传到本地服务器问题是只要文件后缀是txt的话,没有任何问题,但是如果是doc或者其它格式的就不行了
各位兄弟帮帮忙吧。。

解决方案 »

  1.   

    public String uploadFile(String url, int port, String username,
    String password, String path, String filename, InputStream input) {
    String root = null;
    // 创建FTPClient对象
    FTPClient ftp = new FTPClient();
    try {
    int reply;
    // 连接FTP服务器
    // 如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器
    ftp.connect(url, port);
    // 登录ftp
    ftp.login(username, password);
    // 看返回的值是不是230,如果是,表示登陆成功
    reply = ftp.getReplyCode();
    // 以2开头的返回值就会为真


    //变更工作目录
    ftp.changeWorkingDirectory(path);
    root = ftp.printWorkingDirectory();

    // 将上传文件存储到指定目录
    ftp.enterLocalPassiveMode();
    ftp.setFileType(FTP.BINARY_FILE_TYPE);
    ftp.storeFile(filename, input);

    // 关闭输入流
    input.close();
    // 退出ftp
    ftp.logout();
    } catch (IOException e) {
    e.printStackTrace();
    } finally {
    if (ftp.isConnected()) {
    try {
    ftp.disconnect();
    } catch (IOException ioe) {
    }
    }
    }
    return root+"/"+filename;
    }
    这样行不,我上传图片成功了,我目前的问题是下载的时候在A机上面下面到C盘成功,可是到B机下载的时候也下载到了A机的C盘