在Windows中,您可以使用“添加networking位置向导”将FTP站点添加为指定的networking位置。 例如,用户可以添加一个名为“MyFtp”的位置。
在.Net中,如何访问(列出,读取和写入)该位置的文件? Windows是否抽象出实现(WebDAV,FTP或其他),并使其看起来像我的.Net程序的本地文件夹? 如果是这样的话,我该如何在File.WriteallText(path,content)指定path参数? 如果没有,我怎样才能访问这些文件?
如何在安装程序下载时在.NET安装程序中embedded用户特定的数据?
DotNetZip – 如何提取到工作目录
使用Gmail发送邮件
如何检测SD卡何时插入?
以编程方式中断活动屏幕保护程序?
不,Windows只能在资源管理器中处理。 (他们可能已经在新版本的Windows中删除了这个)。你将不得不使用一些内置的类或者自己实现FTP,WebDav和其他协议。
网络位置中的MyFtp快捷方式是FTP文件夹外壳命名空间扩展的快捷方式。 如果要使用它,则必须绑定到快捷方式目标(通过shell命名空间),然后通过类似IShellFolder :: BindToObject或IShellItem :: BindToHandler的方法进行导航。 这是非常先进的东西,我不认为有什么内置的C#使其更容易。 这里有一些参考,让你开始。
Shell命名空间简介
脚本化的Shell对象
浏览Shell命名空间
//to read a file string fileContent = System.IO.File.ReadAllText(@"\MyNetworkPathABC\testfile1.txt"); //and to write a file string content = "123456"; System.IO.File.WriteallText(@"\MyNetworkPathABC\testfile1.txt",content);
但是,您需要为正在运行应用程序的主体提供网络路径的读/写权限。
你可以使用FtpWebRequest类
这里是一些示例代码(来自MSDN):
public static bool displayFileFromserver(Uri serverUri) { // The serverUri parameter should start with the ftp:// scheme. if (serverUri.Scheme != Uri.UriSchemeFtp) { return false; } // Get the object used to communicate with the server. WebClient request = new WebClient(); // This example assumes the FTP site uses anonymous logon. request.Credentials = new NetworkCredential ("anonymous","[email protected]"); try { byte [] newFileData = request.DownloadData (serverUri.ToString()); string fileString = System.Text.Encoding.UTF8.GetString(newFileData); Console.WriteLine(fileString); } catch (WebException e) { Console.WriteLine(e.ToString()); } return true; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。