我要在WEB页面,读出FTP上已存在的图片,应如何做。。
    在线等。。
    请各位指导。。先说谢谢了。 。

解决方案 »

  1.   

    读取FTP文件
      

  2.   

    import org.apache.commons.io.IOUtils; 
    import org.apache.commons.net.ftp.FTPClient; import java.io.File; 
    import java.io.FileInputStream; 
    import java.io.IOException; 
    import java.io.FileOutputStream; 
    public class FtpTest { 
        public static void main(String[] args) { 
            testUpload(); 
            testDownload(); 
        }     /** 
         * FTP上传单个文件测试 
         */ 
        public static void testUpload() { 
            FTPClient ftpClient = new FTPClient(); 
            FileInputStream fis = null;         try { 
                ftpClient.connect("192.168.14.117"); 
                ftpClient.login("admin", "123");             File srcFile = new File("C:\\new.gif"); 
                fis = new FileInputStream(srcFile); 
                //设置上传目录 
                ftpClient.changeWorkingDirectory("/admin/pic"); 
                ftpClient.setBufferSize(1024); 
                ftpClient.setControlEncoding("GBK"); 
                //设置文件类型(二进制) 
                ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE); 
                ftpClient.storeFile("3.gif", fis); 
            } catch (IOException e) { 
                e.printStackTrace(); 
                throw new RuntimeException("FTP客户端出错!", e); 
            } finally { 
                IOUtils.closeQuietly(fis); 
                try { 
                    ftpClient.disconnect(); 
                } catch (IOException e) { 
                    e.printStackTrace(); 
                    throw new RuntimeException("关闭FTP连接发生异常!", e); 
                } 
            } 
        }     /** 
         * FTP下载单个文件测试 
         */ 
        public static void testDownload() { 
            FTPClient ftpClient = new FTPClient(); 
            FileOutputStream fos = null;         try { 
                ftpClient.connect("192.168.14.117"); 
                ftpClient.login("admin", "123");             String remoteFileName = "/admin/pic/3.gif"; 
                fos = new FileOutputStream("c:/down.gif");             ftpClient.setBufferSize(1024); 
                //设置文件类型(二进制) 
                ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE); 
                ftpClient.retrieveFile(remoteFileName, fos); 
                fos.close(); 
            } catch (IOException e) { 
                e.printStackTrace(); 
                throw new RuntimeException("FTP客户端出错!", e); 
            } finally { 
                IOUtils.closeQuietly(fos); 
                try { 
                    ftpClient.disconnect(); 
                } catch (IOException e) { 
                    e.printStackTrace(); 
                    throw new RuntimeException("关闭FTP连接发生异常!", e); 
                } 
            } 
        } 

      

  3.   


    public File getFtpFile(String name) throws IOException
    {
    // 连接ftp服务器并读取log文件
    FtpClient fc = new FtpClient(ftpUrl, 21);
    fc.login("ftpUser", "ftpPass");
    fc.cd("images");
    TelnetInputStream tis = fc.get(name); // 写log文件到本地
    File fGetted = new File("D:\\" + name);
    RandomAccessFile fGet = new RandomAccessFile(fGetted, "rw");
    fGet.seek(0);
    DataInputStream puts = new DataInputStream(tis);
    int ch;
    while ((ch = puts.read()) >= 0)
    {
    fGet.write(ch);
    }
    puts.close();
    fGet.close();
    tis.close();
    fc.closeServer();
    return fGetted;
    }
      

  4.   


    public static void main(String[] args) {
     String content = "";  try {
     String server = "192.168.0.100";
     String user = "backup";
     String password = "backup123";
     String path = "/Smile/txt/";
     String filename = "ExamineDaoImpl.java";
     String charsetName = "GBK";
     String port="21";
     String line;
     StringBuffer buffer = new StringBuffer();  FtpClient ftpClient = new FtpClient();
     
     ftpClient.openServer(server);
     ftpClient.login(user, password);
     // ftpClient.login(arg0, arg1)
     ftpClient.cd(path);
     TelnetInputStream in = ftpClient.get(filename);
     BufferedReader reader = new BufferedReader(new InputStreamReader(
     in, charsetName));
     for (int i = 0; (line = reader.readLine()) != null; i++) {
     buffer.append(line);
     buffer.append("\n");
     }
     content = buffer.toString();
             reader.close();
     in.close();
     ftpClient.closeServer();
     } catch (Exception e) {
     e.printStackTrace();
     }  System.out.println(content); }
    这是读出FTP上的一个文件,我要如何改成读FTP上的图片了。。