FTP - 以其他名称上载文件

时间:2011-07-03 06:41:26

标签: c# file file-upload ftp webclient

我有一个带有radiobuttons的表单,每个表单都在字符串中给出一个文件名,我想要做的是将该字符串作为用户上传的任何文件的名称。

如果你可以向我解释如何重命名,那将是很棒的,因为我已经得到了上传的代码,只是帮我修改这个功能,我可能要添加到参数“string type”tho:

public void uploadFTP(string filename, string type, string password, ProgressBar progressbar)
{
    WebClient client = new WebClient();
    client.Credentials = new System.Net.NetworkCredential("username", password);

    try
    {
        client.UploadFileAsync(new Uri(@"ftp://ftpaddress.com" + "/" + new FileInfo(filename).Name), "STOR", filename);
    }
    catch(System.InvalidCastException)
    {
        // Handled it
    }
    catch (System.ArgumentException)
    {
        // Handled it
    }
    client.UploadProgressChanged += (s, e) =>
    {
        progressbar.Value = e.ProgressPercentage;
    };
    client.UploadFileCompleted += (s, e) =>
    {
        MessageBox.Show("Upload complete", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
    };
}

如果重要:文件是RTF(RichTextBox)。

谢谢!

1 个答案:

答案 0 :(得分:4)

然后上传到不同的网址。将代码中的new FileInfo(filename).Name替换为您实际需要的名称。另外,我认为不使用字符串操作更好。 STOR命令是默认命令。

client.UploadFileAsync(new Uri(new Uri("ftp://ftpaddress.com"), newName)), filename);