C# FTP 应用程序上传到本地目录

标签 c# visual-studio ftp

我刚刚编写了一个简单的 FTP 控制台应用程序,用于将本地服务器上的文件上传到远程 FTP 站点。在实际传输文件之前,一切似乎都运行良好。出于某种原因,它没有将文件上传到指定的 FTP 站点,而是将整个文件存储在本地,没有文件类型的 Debug 文件夹中,名称与 FTP 站点的 ip 相同。我认为这与 Visual Studio 的调试有关。有人可以给我一些指导吗?

这是我用来尝试将字符串数组中的每个文件上传到 FTP 站点的代码。

private static void Upload(string ftpServer, string userName, string password, string filename)
    {
        using (var client = new WebClient())
        {
            client.Credentials = new NetworkCredential(userName, password);
            client.UploadFile(ftpServer, "STOR", filename);
        }
    }

最佳答案

用这个方法代替那个方法,它对我有用。

 //Directory sands for Remote Server Directory ,it must create if dir not exist
FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://serverIP/directory/file");
request.Method = WebRequestMethods.Ftp.UploadFile;

request.Credentials = new NetworkCredential ("username","password");

// Copy the contents of the file to the request stream.
StreamReader sourceStream = new StreamReader("testfile.txt");
byte [] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
sourceStream.Close();
request.ContentLength = fileContents.Length;

Stream requestStream = request.GetRequestStream();
requestStream.Write(fileContents, 0, fileContents.Length);
requestStream.Close();

FtpWebResponse response = (FtpWebResponse)request.GetResponse();
response.Close();

来源- http://msdn.microsoft.com/en-us/library/ms229715.aspx

关于C# FTP 应用程序上传到本地目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8128141/

相关文章:

.net - 命名空间在其他项目中不可用

php - 从带有路径列表的FTP服务器下载文件并下载列出的每个文件

hadoop - 为什么匿名 FTP 到 HDFS DistCp 不起作用?

c# - 类型转换参数的成本是多少

c# - 使用正确的包 ://URI Format

visual-studio - Xamarin Android 调试 : No compatible code running

c++ - Visual Studio : user depended defines

c# - 带有 EnableSSL 的 FtpWebRequest

c# - 如何在 C# 中更改 XML 文件的属性值?

c# - 使用 `UseUrl(...)` 配置文件中的设置?