2016-07-29 89 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"