【问题标题】:C# ftp file upload not workingC# ftp 文件上传不工作
【发布时间】:2014-04-30 06:29:26
【问题描述】:

我正在使用从 MSDN 获得的这段代码:

FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://a.b.com/home/grad/G140315METST-HT001.jpg");
request.Method = WebRequestMethods.Ftp.UploadFile;

request.Credentials = new NetworkCredential("user", "pass");

StreamReader sourceStream = new StreamReader("G140315METST-HT001.jpg");
byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
sourceStream.Close();
request.ContentLength = fileContents.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(fileContents, 0, fileContents.Length);
requestStream.Close();

FtpWebResponse response = (FtpWebResponse)request.GetResponse();

Console.WriteLine("Upload File Complete, status {0}", response.StatusDescription);
response.Close();

但我收到此错误:

远程服务器返回错误:(553) 文件名不允许。

在这条线上Stream requestStream = request.GetRequestStream();

怎么办?

【问题讨论】:

  • 您是否尝试过使用普通的 FTP 客户端上传相同的文件?也许服务器真的不允许这个文件名...
  • 是的,我使用了 filezila,它奏效了。
  • 路径是否有效?我的意思是服务器上存在 home 和 grad 文件夹
  • @manishDalal> 是的,它存在。
  • 使用 FileZilla 连接时,会打开哪个文件夹?

标签: c# file-upload ftp


【解决方案1】:

您必须在 StreamReader 中显示完整的本地路径。 试试这个

StreamReader sourceStream = new StreamReader("D:\\G140315METST-HT001.jpg");

将文件放入 D 盘:

【讨论】:

  • 这不是问题。它在 bin 文件夹中搜索图像。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-01-09
  • 1970-01-01
  • 2019-01-05
  • 2014-05-28
  • 1970-01-01
  • 2018-03-28
  • 1970-01-01
相关资源
最近更新 更多