【问题标题】:Open file from server using StreamReader使用 StreamReader 从服务器打开文件
【发布时间】:2013-11-12 23:44:48
【问题描述】:

我正在尝试使用流式阅读器打开在服务器上分配的文件并给我一个错误。

代码:

string path = @"localhost:91/Files/1/Documents/7d08d443-402f-47c7-978f-9f5069903019.csv";
StreamReader reader = new StreamReader(path);

错误:不支持给定路径的格式

【问题讨论】:

  • 您是否尝试通过 HTTP 执行此操作?
  • 感谢您的回答吉姆。我是。我不能?
  • 如果您想通过 HTTP 访问文件,您需要使用 WebClient.DownloadFile 下载并打开它。或者您可以使用HttpWebRequest 发出请求并在响应流上打开StreamReader

标签: c# file url path streamreader


【解决方案1】:

要获取表示从网络服务器下载的文件的流,您需要这样的东西

WebRequest request = WebRequest.Create(@"http://servername:91/path/to/file.csv");
using (WebResponse response = request.GetResponse())
{
  using (Stream stm = response.GetResponseStream())
  {
    //use response
  }
}

显然用您的网址替换网址。

打开本地文件的旧答案如下。 您应该使用表单的 UNC 路径

\\servername\sharename\path\to\file.csv

另外一点,当您创建 StreamReader 时,您应该使用 using 块来确保流读取器立即关闭。

【讨论】:

  • 我很困惑对不起,我是新来的。我需要进行测试并读取已保存在服务器文件夹中的 .csv 文件,并且我有文件的位置,如问题所示(localhost:91/​​....)。我的问题是路径格式不正确,因为路径变量中指定了端口。我如何解决这个问题?谢谢
  • 抱歉,您的 URL 不包含 http,我假设您尝试访问 Windows 文件服务器上的文件,而不是访问 Web 服务器上的文件。我已经修改了我的答案,包括一个直接从 Web 服务器访问文件的示例。
猜你喜欢
  • 1970-01-01
  • 2020-11-01
  • 2010-10-28
  • 2014-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-26
相关资源
最近更新 更多