当前位置: 首页 > 编程语言 > C#

删除远程文件?分享

时间:2023-04-10 21:57:33 C#

删除远程文件?我有文件要删除。连接可以来自文件共享、http和ftp。要删除的文件示例://mytest//delete//filename.binftp://mytest/delete/filename.binhttp://mytest/delete/filename.bin这是我所做的:Uritarget=newUri(@"ftp://mytest/delete/filename.bin");FileInfofi=newFileInfo(target.AbsoluteUri);fi.删除();我得到的错误是:如果在所有这些文件类型中都可以删除代码,则不支持给定的路径格式?我为此任务创建了一个简单的代码(基于线程响应)。这是输入:Uritarget=newUri(@"ftp://tabletijam/FileServer/upload.bin");Uritarget=newUri(@"http://tabletijam/FileServer/upload.bin");Uritarget=newUri(@"\tabletijamFileServerupload.bin");这是代码:boolDeleteFileOnServer(UriserverUri){if(serverUri.Scheme==Uri.UriSchemeFtp){FtpWebRequestrequest=(FtpWebRequest)WebRequest.Create(serverUri);request.Method=WebRequestMethods.Ftp.DeleteFile;FtpWebResponse响应=(FtpWebResponse)request.GetResponse();lblStatus.Content=response.StatusDescription;响应.关闭();返回真;}elseif(serverUri.Scheme==Uri.UriSchemeFile){System.IO.File.Delete(serverUri.LocalPath);返回真;}elseif(serverUri.Scheme==Uri.UriSchemeHttp||serverUri.Scheme==Uri.UriSchemeHttps){HttpWebRequest请求=(HttpWebRequest)WebRequest.Create(serverUri);request.Method=WebRequestMethods.Http.DeleteFile;HttpWebResponse响应=(HttpWebResponse)request.GetResponse();lblStatus.Cointent=response.StatusDescription;响应.关闭();返回真;}else{lblStatus.Content="Unknownurischeme.";返回假;成功删除Ftp和文件WebRequestMethods.Http不包含DeleteFile。所以我的问题是,如何从此URI中删除文件?http://tabletijam/FileServer/upload.bin因为FileInfo只适用于本地文件。对于每个连接,您都需要一个特殊的实现。对于FTP?来自MSDN的示例)publicstaticboolDeleteFileOnServer(UriserverUri){//serverUri参数应使用ftp://方案。//它包含要删除的服务器文件的名称。//示例:ftp://contoso.com/someFile.txt。//if(serverUri.Scheme!=Uri.UriSchemeFtp){returnfalse;}//获取用于与服务器通信的对象。FtpWebRequest请求=(FtpWebRequest)WebRequest.Create(serverUri);request.Method=WebRequestMethods.Ftp.DeleteFile;FtpWebResponse响应=(FtpWebResponse)request.GetResponse();Console.WriteLine("删除状态:{0}",response.StatusDescription);响应.关闭();返回真;}使用\server...表示法,您可以删除远程服务器(您有权访问)上的文件。对于FTP,您应该使用FtpWebRequest。对于HTTP,您可以使用HttpWebRequest发出DELETE请求。对于FTP和HTTP,您可能需要提供用户名和密码。通常,默认情况下,HTTP服务器没有配置为在收到DELETE请求时删除文件。出于多种原因,不,没有统一的方法通过这些协议删除文件。您可以将其抽象为您自己的一些实现,但是,使用特定于您要支持的每个协议的实现...如何从此URI中删除文件?request.Method="删除";此外,WebDAV支持不同的标头来控制删除...不,这是不可能的。FTP和HTTP是您需要坚持的协议。尽管在资源管理器中查看FTP文件夹时您可能能够删除文件,但这并不意味着它可以在C#中工作,因为资源管理器使用集成的FTP客户端。像这样通过HTTP删除文件是不可能的。以上就是C#学习教程:删除远程文件?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: