加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#绝对URI从URL中删除“..”

发布时间:2020-12-15 07:55:51 所属栏目:百科 来源:网络整理
导读:我必须通过FTP上传文件到 ftp://ftp.remoteServer.com 我在remoteServer上的根目录包含一个“上传”和一个“下载”文件夹.我需要将我的文件放在“上传”目录中.但在登录时,服务器会自动将我放入“下载”文件夹中. 我试过这样做: string serverTarget = "ftp
我必须通过FTP上传文件到 ftp://ftp.remoteServer.com

我在remoteServer上的根目录包含一个“上传”和一个“下载”文件夹.我需要将我的文件放在“上传”目录中.但在登录时,服务器会自动将我放入“下载”文件夹中.

我试过这样做:

string serverTarget = "ftp://ftp.remoteServer.com/";
serverTarget += "../upload/myfile.txt";
Uri target = new Uri(serverTarget);
FTPWebRequest ftp = (FTPWebRequest)FtpWebRequest.Create(target);

using(Stream requestStream = ftp.GetRequestStream()) {
    // Do upload here
}

此代码失败:(550)文件不可用(例如,找不到文件,没有访问权限)
我调试了代码,target.AbsoluteUri返回ftp://ftp.remoteServer.com/upload而不是ftp://ftp.remoteServer.com/../upload(缺少..)

如果我将ftp://ftp.remoteServer.com/../upload放入浏览器,我可以登录并验证这是我想要放置文件的正确位置.

如何让FTPWebRequest转到正确的位置?

解决方法

我相信你可以将点编码为.保留URI中的点.

所以类似于:

string serverTarget = "ftp://ftp.remoteServer.com/%2E%2E/upload/myfile.txt";

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读