deeshubby
I've had great success integrating this library with my custom Windows Forms C# app.
When I use the sample provided for my "Download" routine, the error code seems to indicate success. When I go to open the actual file, I see it has been corrupted. Not sure what I'm doing wrong.
I've only tested GIF/JPEG images, thus far, which is the main file types my app will be throwing around. But, I may also incorporate Windows media formats in the future (.wmv, .wma, .. etc..)
Here's an example image that looks great on the server (uploaded successfully using this library, even)
Here's that same image after I have downloaded to my PC using the library (and then re-uploaded to the server for you to see on this post)
Furthermore, here's a code-snippet of how I am initializing my library object:
The Download method is exactly what you'll find in the SmartFTP Library C# sample, tweaked only slightly for some minor sytnax stuff. I have not included it here.
When I use the sample provided for my "Download" routine, the error code seems to indicate success. When I go to open the actual file, I see it has been corrupted. Not sure what I'm doing wrong.
I've only tested GIF/JPEG images, thus far, which is the main file types my app will be throwing around. But, I may also incorporate Windows media formats in the future (.wmv, .wma, .. etc..)
Here's an example image that looks great on the server (uploaded successfully using this library, even)
Here's that same image after I have downloaded to my PC using the library (and then re-uploaded to the server for you to see on this post)
Furthermore, here's a code-snippet of how I am initializing my library object:
public SmartFTP(string hostAddress, int port, string username, string password, bool passive, bool requiresProxyAuth, string proxyHost)
{
// Load License Key
sfFTPLib.Global global = new sfFTPLib.Global();
if(global.LoadLicenseKeyData(LICENSE_KEY))
LogStatus("License key embedded in DLL verified.");
else
LogStatus("Failed to verify license key in: " + LICENSE_KEY);
// Create our COM object through the Interop (Early Binding)
_ftp = new FTPConnectionMTAClass();
// host settings
_ftp.Host = hostAddress;
_ftp.Port = port;
_ftp.Username = username;
_ftp.Password = password;
_ftp.Passive = passive;
// proxy settings
_ftp.FTPProxyAuthentication = requiresProxyAuth;
if(requiresProxyAuth)
{
_ftp.FTPProxyType = (sfFTPLib.enumFTPProxyType)SmartFTP.enumFTPProxyType.ftpFTPProxyTypeSite;
_ftp.FTPProxyPort = 21;
_ftp.FTPProxyHost = proxyHost;
}
// set CLNT name
_ftp.Client = "xxxxx";
// log everything
_ftp.LogFile = "FTP_"+ DateTime.Now.ToShortDateString() +".log";
_ftp.DataTransferMode = sfFTPLib.enumDataTransferMode.ftpDataTransferModeStream;
_ftp.DataTransferType = sfFTPLib.enumDataTransferType.ftpDataTransferTypeASCII;
_ftp.DataProtection = sfFTPLib.enumDataProtection.ftpDataProtectionClear;
_ftp.UseMessageLoop = true;
}
The Download method is exactly what you'll find in the SmartFTP Library C# sample, tweaked only slightly for some minor sytnax stuff. I have not included it here.