2016-07-29 87 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.dll中发生未处理的“System.Net.WebException”类型异常 附加信息:请求的URI对于此FTP命令无效。 – Chintu

+0

尝试传递一个uri而不是字符串。看看是否有帮助... – Niklas

回答

1

我认为你的问题是你的网址缺少文件名。如果我没有记错,您必须在URL中传递文件名。所以它看起来像这样:

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