2015-02-26 2 views
0

Я пытаюсь загрузить файл на свой сервер, и после этого я сохраню путь в своей базе данных, но загрузка файла не работает. Он не делает исключения, но когда Я проверить мою папку, я не вижу каких-либо файлы загружены вот мой код:Загрузка файла на сервер с помощью C#

private void bBrowse_Click(object sender, EventArgs e) 
    { 
     long size = -1; 
     string path = ""; 
     openFileDialog1.FileName = ""; 
     openFileDialog1.Filter = "All files (*.*)|*.*|All files (*.*)|*.*"; 
     DialogResult result = openFileDialog1.ShowDialog(); // Show the dialog. 
     if (result == DialogResult.OK) // Test result. 
     { 

      openFileDialog1.Title = "Attach speech assessment document"; 
      openFileDialog1.Filter = "Doc Files|*.doc|Docx File|*.docx|PDF doc|*.pdf"; 
      openFileDialog1.InitialDirectory = @"C:\"; 
      fileName = System.IO.Path.GetFileName(openFileDialog1.FileName); 
      path = Path.GetDirectoryName(openFileDialog1.FileName); 
      labelFileName.Text = path + "/" + fileName; 


     } 
     Console.WriteLine(path); // <-- Shows file path in debugging mode. 

     Console.WriteLine(result); // <-- For debugging use. 
    } 

    private void buttonAdd_Click(object sender, EventArgs e) 
    { 
     try 
     { 
      WebClient client = new WebClient(); 

      NetworkCredential nc = new NetworkCredential("username", "password"); 

      Uri addy = new Uri(@"http://url/public_html/assessment" + fileName); 

      client.Credentials = nc; 
      byte[] arrReturn = client.UploadFile(addy, labelFileName.Text); 
      MessageBox.Show(arrReturn.ToString()); 

     } 
     catch (Exception ex1) 
     { 
      MessageBox.Show(ex1.Message); 
     } 
+1

Я заметил одну возможную ошибку в коде; в Uri addy вы указали, что выглядит как каталог под названием «оценка», не добавляя после него «/». Вы проверили родительский каталог, чтобы узнать, находится ли файл в «http: // url/public_html/evaluation»? –

+1

@WilliamCallahan Я добавил отсутствующую косую черту и проверил родительский каталог, но в нем ничего нет, не знаю, что здесь не так, так как это моя первая попытка загрузить файлы на сервер –

+1

благодаря кучке @WilliamCallahan :) –

ответ

1

Я решил, что благодаря @ комментарий Уильям, я забыл добавить косую черту, и я также написал HTTP в URL вместо ftp, это была главная ошибка!

Код после редактирования:

private void bBrowse_Click(object sender, EventArgs e) 
    { 
     long size = -1; 
     string path = ""; 
     openFileDialog1.FileName = ""; 
     openFileDialog1.Filter = "All files (*.*)|*.*|All files (*.*)|*.*"; 
     DialogResult result = openFileDialog1.ShowDialog(); // Show the dialog. 
     if (result == DialogResult.OK) // Test result. 
     { 

     openFileDialog1.Title = "Attach speech assessment document"; 
     openFileDialog1.Filter = "Doc Files|*.doc|Docx File|*.docx|PDF doc|*.pdf"; 
     openFileDialog1.InitialDirectory = @"C:\"; 
     fileName = System.IO.Path.GetFileName(openFileDialog1.FileName); 
     path = Path.GetDirectoryName(openFileDialog1.FileName); 
     labelFileName.Text = path + "/" + fileName; 


    } 
    Console.WriteLine(path); // <-- Shows file path in debugging mode. 

    Console.WriteLine(result); // <-- For debugging use. 
} 

private void buttonAdd_Click(object sender, EventArgs e) 
{ 
    try 
    { 
     WebClient client = new WebClient(); 

     NetworkCredential nc = new NetworkCredential("username", "password"); 

     Uri addy = new Uri(@"ftp://url/public_html/assessment/" + fileName); 

     client.Credentials = nc; 
     byte[] arrReturn = client.UploadFile(addy, labelFileName.Text); 
     MessageBox.Show(arrReturn.ToString()); 

    } 
    catch (Exception ex1) 
    { 
     MessageBox.Show(ex1.Message); 
    } 
Смежные вопросы