从url下载文件并上传到ftp

时间:2016-07-29 09:55:36

标签: c# asp.net asp.net-mvc c#-4.0 c#-2.0

我要求我需要从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无效   命令。

1 个答案:

答案 0 :(得分:3)

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

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