【发布时间】:2012-04-26 10:59:36
【问题描述】:
我想将文件从一台服务器上传到另一台 FTP 服务器,以下是我上传文件的代码,但它抛出错误:
远程服务器返回错误:(550) 文件不可用(例如,找不到文件,无法访问)。
这是我的代码:
string CompleteDPath = "ftp URL";
string UName = "UserName";
string PWD = "Password";
WebRequest reqObj = WebRequest.Create(CompleteDPath + FileName);
reqObj.Method = WebRequestMethods.Ftp.UploadFile;
reqObj.Credentials = new NetworkCredential(UName, PWD);
FileStream streamObj = System.IO.File.OpenRead(Server.MapPath(FileName));
byte[] buffer = new byte[streamObj.Length + 1];
streamObj.Read(buffer, 0, buffer.Length);
streamObj.Close();
streamObj = null;
reqObj.GetRequestStream().Write(buffer, 0, buffer.Length);
reqObj = null;
你能告诉我哪里出错了吗?
【问题讨论】:
-
FileName的值是多少?您要获取的文件的地址是什么?你确定CompleteDPath + FileName能给你想要的吗? -
@Mark Byers :FileName 是文件存在于一台服务器上并且需要传输到另一台服务器的位置。 CompleteDPath = 这是需要传输文件的另一台服务器的路径。
-
不......他在问你传递给路径和文件名的值是什么。您尝试通过的路径是什么?
-
您是否手动测试过您的用户名和密码是否具有写入权限?可能值得注销 CompleteDPath + FileName 以确保它是一个体面的 url - CompleteDPath 是否以 / 结尾
-
@GregHNZ :是的,用户名和密码正确,因为我尝试连接 Filezila
标签: c# asp.net .net ftp ftpwebrequest