FileStream 和 WebClient 之间的区别

本文关键字:区别 之间 WebClient FileStream | 更新日期: 2023-09-27 17:56:35

所以,我实际上是在尝试为Web项目设置一个Wopi Host。

我一直在使用这个示例(来自 Shawn Cicoria 的示例,如果有人知道这一点),他提供了一个完整的代码示例,告诉您如何构建链接以将 Office Web App 服务器与某些文件一起使用。

我在这里的问题是,他的示例正在处理 OWA 服务器上的文件,我需要它来处理在线文件(如 http://myserv/res/test.docx .所以当他读取他的文件内容时,他正在使用这个:

var stream = new FileStream(myFile, FileMode.Open, FileAccess.Read);
responseMessage.Content = new StreamContent(stream);

但这不适用于"http"文件,所以我用这个改变了它:

byte[] tmp;
using (WebClient client = new WebClient())
{
    client.Credentials = CredentialCache.DefaultNetworkCredentials;
    tmp = client.DownloadData(name);
}
responseMessage.Content = new ByteArrayContent(tmp);

正在编译。通过此示例,我设法在我的办公室 Web 应用程序中打开了 excel 文件,但单词和 PowerPoint 文件无法打开。所以,这是我的问题。

这两种方法之间是否有区别,这可能会改变我正在阅读的文件的内容,尽管WebClient低"在线阅读"?

抱歉帖子不清楚,解释这样的问题并不容易x)我尽力了。

谢谢四个人的帮助!

FileStream 和 WebClient 之间的区别

这两种方法之间是否有区别,这可能会改变 我正在阅读的文件的内容,尽管事实上 网络客户端允许"在线阅读"

FileStream打开本地放置在磁盘上的文件或位于网络内其他位置的远程磁盘的文件句柄。当您打开一个FileStream时,您直接操作该特定文件。

另一方面,WebClient是HTTP协议的包装器。它的职责是构造 HTTP 请求和响应消息,使您可以方便地使用它们。它不直接了解文件等资源,尤其是它所在的位置。它所知道的只是构造符合规范的消息,发送请求并期望响应。