FTP - загрузка файла под другим именем - PullRequest
1 голос
/ 03 июля 2011

У меня есть форма с радиокнопками, каждая из которых задает имя файла в строке, и я хочу, чтобы эта строка использовалась в качестве имени для любого файла, который загружает пользователь.

Было бы здорово, если бы вы могли объяснить мне, как переименовать, потому что я уже получил код для загрузки или , просто помогите мне изменить эту функцию, мне, вероятно, придется добавить строку параметров "введите "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 Ответ

4 голосов
/ 04 июля 2011

Просто загрузите на другой URL.Замените new FileInfo(filename).Name в своем коде именем, которое вы на самом деле хотите.Кроме того, я думаю, что лучше не использовать манипуляции со строками.И команда STOR используется по умолчанию.

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