类似于FTP工具,可是我用了网上的ftpUpload代码,它只能将我Web 服务器上的文件传过去,而我用file组件选择了本地文件后却无法上传,原因是ftp的代码是在服务器上执行的,而不能得到客户端文件,请问如何解决?
最好有代码!谢谢!

解决方案 »

  1.   

    package com.mysoft.mess;import java.io.*;
    import java.net.URL;
    import java.net.URLConnection;public class FtpFileUp {
    public static boolean FileUp(String fileUrl,String upUrl) {
    try {
    URL url = new URL(upUrl);
    URLConnection urlc = url.openConnection();
    InputStream is = new FileInputStream(fileUrl); //本地文件的地址
    OutputStream os = urlc.getOutputStream(); // 上传
    byte[] bytes = new byte[2048];
    int s = 0;
    while ((s = is.read(bytes)) != -1) {
    os.write(bytes, 0, s);
    }
    is.close();
    os.close();
    urlc = null;
    return true;
    } catch (Exception ex) {
    ex.printStackTrace();
    return false;
    }
    }
    }
      

  2.   

    如果只是文件上传,那么使用http协议的fileupload 就可以办到,apache上面有免费的开源下载,并且有相关的代码示例
    如果一定要使用ftp协议上传文件,那么使用enterprisedt的ftp包或是其他的ftp开源包都可以,但是前提是server上面一定要部署ftp的server,并设置相关的帐号和权限
      

  3.   

    apache?没有去过!我用的上面的代码
      

  4.   

    to:飞影 你的代码使用的是http协议的,并且需要编写客户端和服务器两方面的代码,如果使用apache的fileupload,或是类似的组件,那么在服务器就可以上传客户端的文件,维护起来比较方便