c#4.0-通过SSL c#上传FTP文件

本文关键字:FTP 文件 上传 0-通过 SSL c#4 | 更新日期: 2023-09-27 17:57:30

主题:通过SSL 传输FTP文件

我正在尝试将文件上传到我的一个ftp服务器但我在到达服务器时出现异常服务器侦听端口990我认为问题出在隐式/显式设置上有人能建议我如何使用.net 4.0中的隐式设置通过SSL进行ftp吗?

调用方法GetRequestStream时出现异常:基础连接已关闭:服务器违反了协议。

以下是代码片段:

FileInfo ExportFile = new FileInfo("C:''ServiceXML.xml");
FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create("ftpserver" + "/FolderName/" + ExportFile.Name);
request.EnableSsl = true;
request.Credentials = new NetworkCredential("username", "password");
request.KeepAlive = true;
request.Method = WebRequestMethods.Ftp.UploadFile;
request.UseBinary = true;
request.ContentLength = ExportFile.Length;
request.UsePassive = true;
ServicePointManager.ServerCertificateValidationCallback = delegate(object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return true; };
        try
        {
            int bufferLen = 4096;
            byte[] buffer = new byte[4096];
            int contentLen;
            FileStream fsExport = ExportFile.OpenRead();
            Stream ftpStream = request.GetRequestStream();
            contentLen = fsExport.Read(buffer, 0, bufferLen);
            while (contentLen != 0)
            {
                ftpStream.Write(buffer, 0, contentLen);
                contentLen = fsExport.Read(buffer, 0, bufferLen);
            }
            fsExport.Close();
            fsExport.Dispose();
            ftpStream.Close();
            ftpStream.Dispose();
        }
        catch (Exception ex)
        {
            //LogError(ex, "Error in FTP Request.");
        }

为这个问题斗争了几天。。任何帮助都将不胜感激。。有人能给我推荐一个使用.net 4.0中隐含设置的FTP over SSL的好例子吗?

c#4.0-通过SSL c#上传FTP文件

有类似的问题,只是我在.net 4上收到了"处理中的本地错误"。将框架更改为.net 3.5,它起到了作用。

当我没有在URI中设置端口时,我也遇到了同样的问题,您的ftpserver变量应该类似于ftp://127.0.0.1:990