turning off passive worked, thanks - never thought to do that, as I have
always needed passive on in ftp clients...
Thanks!
Knezevic, Mihael wrote:
i don't know your setup but do you really need to go into remote passive mode
and shouldn't you use then the remoteStore method? only a suggestion as i
haven't used it yet and never worked with remote passive mode.
-----Original Message-----
From: Andrew Elcock [mailto:[EMAIL PROTECTED]
Sent: Tuesday, August 09, 2005 5:34 PM
To: Jakarta Commons Users List
Subject: Re: Commons NET
OK, so when I write to the FTP server with this code nothing
appears at
the other end.
If I use the "completePendingCommand" that is commented out
things seem
to hang.
Please excuse the code.
The upload is invoked when someone closes the output stream
on the file
that we are uploading (by means of OutputStreamWrapper).
Sure I am missing something, thanks -
Andrew
-------------------
public void uploadFile(File f, boolean delete) {
try {
// mkparentdirs();
if (!f.exists())
return;
FTPClient ftpChannel = getFTPChannel(getSite());
try {
// try {
// ftpChannel.makeDirectory((new
File(file)).getParentFile().getPath());
// } catch (IOException e) {/* already existed */}
FileInputStream fis = new FileInputStream(f);
ftpChannel.storeFile(file, fis);
fis.close();
// ftpChannel.completePendingCommand();
System.out.print(ftpChannel.getReplyString());
/* Don't think we want this in a finally block - may
delete all
copies! */
if (delete)
f.delete();
} catch (IOException e) {
e.printStackTrace();
}
} catch (Exception io) {
io.printStackTrace();
}
}
class OutputStreamWrapper extends FileOutputStream {
private File f;
public OutputStreamWrapper(File f) throws IOException {
super(f);
this.f = f;
}
public void close() throws IOException {
super.close();
uploadFile(f, true);
}
}
private static Hashtable channelHash = new Hashtable();
public static FTPClient getFTPChannel(Site site) {
FTPClient chan = (FTPClient) channelHash.get(site);
if (chan == null || !chan.isConnected()) {
try {
chan = new FTPClient();
chan.connect(site.getRemoteHost());
chan.login(site.getRemoteUser(), site.getRemotePassword());
chan.enterRemotePassiveMode();
channelHash.put(site, chan);
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
return chan;
}
----------------------
Knezevic, Mihael wrote:
if u could describe your problem a bit more than perhaps
someone on the list could help u. just saying that it doesn't
work is not very precise. perhaps a code snippet and a
precise description/error message will help us to get u on track.
-----Original Message-----
From: Andrew Elcock [mailto:[EMAIL PROTECTED]
Sent: Monday, August 08, 2005 11:07 AM
To: [email protected]
Subject: Commons NET
I am using much commons code and find it to be excellent and
easy to use
for the main, but have hit a barrier with the NET package.
I am using the net code to upload files to an FTP server. Using the
examples and documentation I have a system that can connect, create
folders etc, but fails miserably to actually upload data.
Is there a
common error that I have fallen in to the trap of without luck from
archives, or is it unique to me? I can send the code, but did
not want
to pollute the list straight off.
Thanks,
Andrew
------------------------------------------------------------
---------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail:
[EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail:
[EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]