繁体   English   中英

如何使用StreamReader从URI读取文件?

[英]How to read a file from a URI using StreamReader?

我有一个URI的文件,我想使用StreamReader读取。 显然,这会导致问题,因为File.OpenText不支持URI路径。 该文件是一个txt文件,里面有一堆html。 我有多个网页使用同一块html,所以我把它放在一个txt文件中,并在页面加载时将其读入页面(当我将文件放在文件系统上时,我可以将它运行起来,但需要将其放在网上的文档存储库中,以便业务用户可以访问它。 我试图避免使用iframe。 有没有办法将StreamReader与URI格式一起使用? 如果没有,还有哪些其他选项使用C#来读取html的txt文件? 如果这不是最佳的,有人可以提出更好的方法吗?

是否有使用StreamReader的特定要求? 除非有,否则您可以使用WebClient类:

var webClient = new WebClient();
string readHtml = webClient.DownloadString("your_file_path_url");

您可以尝试使用HttpWebRequestClassWebClient 这是稍微复杂的Web请求示例。 它比WebClient更有优势,它可以让您更好地控制请求的执行方式:

HttpWebRequest httpRequest = (HttpWebRequest) WebRequest.Create(lcUrl);

httpRequest.Timeout = 10000;     // 10 secs
httpRequest.UserAgent = "Code Sample Web Client";

HttpWebResponse webResponse = (HttpWebResponse) httpRequest.GetResponse();
StreamReader responseStream = new StreamReader(webResponse.GetResponseStream());

string content = responseStream.ReadToEnd();

如果您在代理后面,请不要忘记设置您的凭据:

  WebRequest request=WebRequest.Create(url);
  request.Timeout=30*60*1000;
  request.UseDefaultCredentials=true;
  request.Proxy.Credentials=request.Credentials;
  WebResponse response=(WebResponse)request.GetResponse();
  using (Stream s=response.GetResponseStream())
    ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM