I think you'd better use commons-vfs-2.0-SNAPSHOT.jar. You should also add 
vfsutils-ftpserver-0.1.0-SNAPSHOT.jar and vfsutils-utils-0.1.0-SNAPSHOT.jar.

Then to use it you should use the filesystem class provided in the vfsutils 
libraries (org.vfsutils.ftpserver.filesystem.VfsFileSystemFactory) and 
configure it, see http://vfs-utils.sourceforge.net/ftpserver/configuration.html

Frank

> Date: Mon, 18 Oct 2010 09:10:08 -0200
> Subject: Re: FtpServer - Receive files by memory
> From: [email protected]
> To: [email protected]
> 
> I was trying to implement use of VSF when you give me this tip.
> 
> I check the website you provided (
> http://vfs-utils.sourceforge.net/ftpserver/index.html):
> *To use this bridge you should just add the VFS libraries, the VFS FTP
> Server library and, if needed, your custom VFS Provider and its dependencies
> to the common/lib directory of your Apache FTP Server installation.*
> 
> So, I've added the following libs to my project:
> commons-vfs-1.0.jar
> ftplet-api-1.0.5.jar
> ftpserver-core-1.0.5.jar
> mina-core-2.0.0-RC1.jar
> slf4j-api-1.5.2.jar
> slf4j-log4j12-1.5.2.jar
> 
> <http://vfs-utils.sourceforge.net/ftpserver/index.html>The FTP server
> started and works, but doesn´t with VSF. This is code I'm using:
> 
> > FtpServerFactory serverFactory = new FtpServerFactory();
> 
>  ListenerFactory factory = new ListenerFactory();
> 
> factory.setPort(21);
> 
> serverFactory.addListener("default", factory.createListener());
> 
> 
> > PropertiesUserManagerFactory userManagerFactory = new
> > PropertiesUserManagerFactory();
> 
> userManagerFactory.setFile(new File("etc/ftp-users.properties"));
> 
> userManagerFactory.setPasswordEncryptor(new SaltedPasswordEncryptor());
> 
> 
> > BaseUser user = new BaseUser();
> 
> user.setName("danilo");
> 
> user.setPassword("mypass");
> 
> user.setHomeDirectory("ram://ftp/danilo");
> 
> user.setEnabled(true);
> 
>  List<Authority> authorities = new ArrayList<Authority>();
> 
> authorities.add(new WritePermission());
> 
> user.setAuthorities(authorities);
> 
> 
> > UserManager um = userManagerFactory.createUserManager();
> 
> um.save(user);
> 
>  serverFactory.setUserManager(um);
> 
> 
> > FtpServer server = serverFactory.createServer();
> 
> server.start();
> 
> 
> Test creating a dir:
> 
> > ftp> mkdir test
> 
> 550 Can't create directory /test.
> 
> 
> Test uploading file:
> 
> > ftp> send
> 
> Arquivo local c:/a.rar
> 
> Arquivo remoto a.rar
> 
> 200 Command PORT okay.
> 
> 150 File status okay; about to open data connection.
> 
> 551 /a.rar: Error on output file.
> 
> 
> Any ideas ?
> Thanks a lot,
> 
> On Sun, Oct 17, 2010 at 7:22 PM, Frank van der Kleij <[email protected]>wrote:
> 
> >
> > Another option - though one that gives you slightly less control is to use
> > the VFS filesystem plugin for the FTP server (
> > http://vfs-utils.sourceforge.net/ftpserver/index.html) because then you
> > can use the ram:// filesystem (
> > http://commons.apache.org/vfs/filesystems.html#ram) that works on
> > memory.Frank
> > > Date: Fri, 15 Oct 2010 17:26:40 +0200
> > > Subject: Re: FtpServer - Receive files by memory
> > > From: [email protected]
> > > To: [email protected]
> > >
> > > 2010/10/15 Danilo Rosetto Muñoz <[email protected]>:
> > > > I would like to know some way to get FTP received files directly from
> > > > memory. I mean redirect file transfers to the memory and listening
> > them. I
> > > > want this in order to embbeded a FTP Server on my app and handling new
> > > > files through memory without using filesystem.
> > >
> > > The best way of doing this would be using an in-memory file system
> > > (implementing FileSystemFactory, FileSystemView and FtpFile). We do
> > > not supply one, but it would certainly be possible to implement one.
> > >
> > > /niklas
> >
> >
> 
> 
> 
> -- 
> Danilo Rosetto Muñoz
> [email protected]
> http://munozdanilo.googlepages.com
                                          

Reply via email to