FileStream or WebClient



我目前正在使用 Microsoft 的WopiOffice Web App技术生成一些预览,但我遇到了问题。对不起,我的英语不好,但我会尽量表达自己。

所以!我通过下载文件的内容并将其存储到HttpContent中来生成预览。首先,我在项目~/App_Data/中的文件上尝试了此操作。我读了它对FileStream类的内容,并使用它将其转换为HttpContentStreamContent(myFileStream)。所以,这是完美的工作!

但是,我需要我的项目来处理存储在只能从互联网访问的服务器上的文件(所以物理网址应该看起来像这样:例如http://myServer/res/file.pdf)。我不能在这里使用 FileStream 类,所以我这样做了:

byte[] tmp;
using (WebClient client = new WebClient())
{
    client.Credentials = CredentialCache.DefaultNetworkCredentials;
    tmp = client.DownloadData("http://myServer/res/file.pdf");
}
myHttpContent = new ByteArrayContent(tmp);

问题是这个小示例似乎可以工作,但之后不会生成预览,它是我更改的唯一一段代码。我检查了一些在这里发布的东西,所以:我确实可以访问该文件,并且可以阅读它。

所以,我的问题是,这是获取文件内容的好方法,它已经过时了吗,我应该怎么做才能尝试修补它?

我希望我的帖子足够清楚,感谢您的阅读!

我认为您可以执行以下操作

MemoryStream ms;
using (WebClient client = new WebClient())
{
    client.Credentials = CredentialCache.DefaultNetworkCredentials;
    ms = new MemoryStream(client.DownloadData("http://myServer/res/file.pdf"));
}

然后使用内存流的行为应该与您的文件流相同。

相关内容

  • 没有找到相关文章

最新更新