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

C#绝对URI从URL中删除“..”,第1张

概述我必须通过FTP上传文件到 ftp://ftp.remoteServer.com 我在remoteServer上的根目录包含一个“上传”和一个“下载”文件夹.我需要将我的文件放在“上传”目录中.但在登录时,服务器会自动将我放入“下载”文件夹中. 我试过这样做: string serverTarget = "ftp://ftp.remoteServer.com/";serverTarget += 我必须通过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";
总结

以上是内存溢出为你收集整理的C#绝对URI从URL中删除“..”全部内容,希望文章能够帮你解决C#绝对URI从URL中删除“..”所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1244969.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存