Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
SimpleMedia Module for Magnolia CMS ( Copyright(C) 2008-2013, Openmind S.r.l. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <>.
 package net.sourceforge.openutils.mgnlmedia.externalvideo;

$Id: $
 public class FtpUtil

     private static Logger log = LoggerFactory.getLogger(FtpUtil.class);
     public static void upload(FtpAccount accountInputStream inputStreamlong sizefinal String fileName,
         final UploadProgress progressthrows IOException
         FTPClient f = new FTPClient();
         .debug("Connection to {}"account.getUrl());
         .debug("Login with {}"account.getUsername());
         if (f.login(account.getUsername(), account.getPassword()))
             String paths[] = StringUtils.split(fileName"/");
             String path = "/";
             for (int i = 0; i < paths.length - 1; i++)
                 path += paths[i] + "/";
                 if (f.listNames(path) == null)
                     .debug("Creating folder {}"path);
             if (!"/".equals(path))
                 .debug("Moving to folder {}"path);
             String relativeFileName = paths[paths.length - 1];
             if (account.isPassive())
                 .debug("Entering passive mode");
             .debug("Storing file {} in {}"new Object[]{relativeFileNamepath });
             if (progress != null && size > 0)
                 OutputStream os = f.storeFileStream(relativeFileName);
                         public void bytesTransferred(long totalBytesTransferredint bytesTransferredlong streamSize)
                             .debug("File {} upload: {} / {}"new Object[]{
                                 streamSize });
                            progress.updateProgress((int) (100 * totalBytesTransferred / streamSize));
            .debug("Done, disconnecting");
    public interface UploadProgress
        void updateProgress(long totalBytesTransferred);
New to GrepCode? Check out our FAQ X