2

试图将文件上传到 FTP。登录时我设置在目录/out,需要返回一个目录,然后上传之前到目录/in。我有这个代码:

       FtpWebRequest req = (FtpWebRequest)FtpWebRequest.Create("FTP://ftps.something.xx/%2fin/FILENAME.TXT");
       req.EnableSsl = true;
       req.Credentials = new NetworkCredential(username, password);
       req.KeepAlive = false;
       req.Method = WebRequestMethods.Ftp.UploadFile;
       req.UseBinary = true;
       req.ContentLength = Exportfile.Length;
       req.UsePassive = true;

在服务器的日志中,一切正常,直到发送 STOR 命令,如下所示:

STOR /in/FILENAME.TXT

这反过来会得到一个 500 错误“不允许更改路径”。我认为 /%2fin/ 的解决方案会发送降低一级的命令,然后发送向上 /in 目录的命令。还是我错过了什么?谢谢你的帮助!

4

1 回答 1

0

根据我所阅读的内容FtpWebRequest,您需要使用%e2%e2/in/而不是/%2fin/

%e2%e2/in/应该相当于:

光盘 ..
光盘

而不是/%2fin/相当于:

光盘/
光盘

cd /表示 cd 根。

于 2014-06-27T18:52:11.163 回答