我在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中删除“..”所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)