2016-07-29 3 views
0

У меня есть требование, что мне нужно загрузить файл с URL-адреса и загрузить его в ftp. Я следовал подходом ниже.Загрузите файл с url и загрузите его в ftp

pdfMemoryStream= new MemoryStream(client.DownloadData("http://res.cloudinary.com/demo/image/upload/sample.jpg")); 
FtpUploadString(pdfMemoryStream, "ftp://192.168.1.1/SampleFiles/", "FTPUserName", "Password"); 

private static string FtpUploadString(MemoryStream memStream, string to_uri, string user_name, string password) 
{ 
    FtpWebRequest request = (FtpWebRequest)WebRequest.Create(to_uri); 
    request.Method = WebRequestMethods.Ftp.UploadFile; 
    request.Credentials = 
     new NetworkCredential(user_name, password); 
    request.UseBinary = true; 
    byte[] buffer = new byte[memStream.Length]; 
    memStream.Read(buffer, 0, buffer.Length); 
    memStream.Close(); 
    using (Stream reqStream = request.GetRequestStream()) 
    { 
     reqStream.Write(buffer, 0, buffer.Length); 
    } 
    return string.Empty; 
} 

Я получаю ниже исключения

Необработанное исключение типа 'System.Net.WebException' произошло в System.dll

Дополнительная информация: запрошенный URI недействителен для этого FTP команда.

+2

Какая у вас проблема? –

+0

Исключение: Необработанное исключение типа «System.Net.WebException» произошло в System.dll Дополнительная информация: Запрошенный URI недействителен для этой команды FTP. – Chintu

+0

Попробуйте перейти в uri вместо строки. Посмотрите, поможет ли это ... – Niklas

ответ

1

Я думаю, что ваша проблема в том, что ваш url не имеет имени файла. Если я правильно помню, вы должны передать имя файла в URL. Так будет выглядеть примерно так:

"ftp://192.168.1.1/SampleFiles/file.txt"