相关疑难解决方法(0)

使用C#将文件上传到FTP

我尝试使用C#将文件上传到FTP服务器.文件已上传但零字节.

private void button2_Click(object sender, EventArgs e)
{
    var dirPath = @"C:/Documents and Settings/sander.GD/Bureaublad/test/";

    ftp ftpClient = new ftp("ftp://example.com/", "username", "password");

    string[] files = Directory.GetFiles(dirPath,"*.*");

    var uploadPath = "/httpdocs/album";

    foreach (string file in files)
    {
        ftpClient.createDirectory("/test");

        ftpClient.upload(uploadPath + "/" + Path.GetFileName(file), file);
    }

    if (string.IsNullOrEmpty(txtnaam.Text))
    {
        MessageBox.Show("Gelieve uw naam in te geven !");
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# ftp file-upload

105
推荐指数
5
解决办法
22万
查看次数

如何检查FTP目录是否存在

寻找通过FTP检查给定目录的最佳方法.

目前我有以下代码:

private bool FtpDirectoryExists(string directory, string username, string password)
{

    try
    {
        var request = (FtpWebRequest)WebRequest.Create(directory);
        request.Credentials = new NetworkCredential(username, password);
        request.Method = WebRequestMethods.Ftp.GetDateTimestamp;

        FtpWebResponse response = (FtpWebResponse)request.GetResponse();
    }
    catch (WebException ex)
    {
        FtpWebResponse response = (FtpWebResponse)ex.Response;
        if (response.StatusCode == FtpStatusCode.ActionNotTakenFileUnavailable)
            return false;
        else
            return true;
    }
    return true;
}
Run Code Online (Sandbox Code Playgroud)

无论目录是否存在,都返回false.有人能指出我正确的方向.

c# ftp ftpwebrequest

29
推荐指数
4
解决办法
8万
查看次数

在C#/ .NET中上传和下载二进制文件到/从FTP服务器下载

我正在使用.NET 4 C#.我正在尝试上传然后将ZIP文件下载到(我的)服务器.

上传我有

using (WebClient client = new WebClient())
{
    FtpWebRequest request = (FtpWebRequest)WebRequest.Create(MyUrl);
    request.Method = WebRequestMethods.Ftp.UploadFile;
    request.EnableSsl = false;
    request.Credentials = new NetworkCredential(MyLogin, MyPassword);
    byte[] fileContents = null;
    using (StreamReader sourceStream = new StreamReader(LocalFilePath))
    {
        fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
    }
    request.ContentLength = fileContents.Length;
    using (Stream requestStream = request.GetRequestStream())
    {
        requestStream.Write(fileContents, 0, fileContents.Length);
    }
    FtpWebResponse response = null;
    response = (FtpWebResponse)request.GetResponse();
    response.Close();
}
Run Code Online (Sandbox Code Playgroud)

这似乎有效,因为我在正确大小的服务器上获得了一个文件.

1)如何流式传输,而不是先将其加载到内存中?我将上传非常大的文件.

我下载了

using (WebClient client = new WebClient())
{
    string HtmlResult = String.Empty;
    FtpWebRequest request = …
Run Code Online (Sandbox Code Playgroud)

.net c# ftp webclient ftpwebrequest

5
推荐指数
1
解决办法
9500
查看次数

从FTP上传文件和下载文件

我正在尝试制作一个上传/下载.exe文件的程序FTP

我尝试过使用FtpWebRequest,但我只能成功上传和下载.txt文件.

然后我在这里找到了一个下载解决方案WebClient:

WebClient request = new WebClient();
request.Credentials = new NetworkCredential("username", "password");
byte[] fileData =  request.DownloadData("ftp://myFTP.net/");

FileStream file = File.Create(destinatie);
file.Write(fileData, 0, fileData.Length);

file.Close();
Run Code Online (Sandbox Code Playgroud)

此解决方案有效.但我看到WebClient有一种方法DownloadFile没有奏效.我想是因为它不工作FTPHTTP.我的假设是真的吗?如果不是,我怎么能让它工作?

有没有其他解决方案上传/下载.exe文件到ftp使用FtpWebRequest

c# ftp upload download ftpwebrequest

4
推荐指数
2
解决办法
2万
查看次数

标签 统计

c# ×4

ftp ×4

ftpwebrequest ×3

.net ×2

download ×1

file-upload ×1

upload ×1

webclient ×1