0

それで、私は実際に 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 ファイルを開くことはできましたが、words と powerpoint ファイルは開かれません。それで、ここに私の質問があります。

WebClient が「オンライン読み取り」を許可しているという事実にもかかわらず、私が読んでいるファイルの内容を変更する可能性のあるこれらの 2 つの方法に違いはありますか?

不明確な投稿で申し訳ありません。このような問題を説明するのは簡単ではありません x) 最善を尽くしました。

ありがとうございます!

4

1 に答える 1

1

WebClient が「オンライン読み取り」を許可しているという事実にもかかわらず、私が読んでいるファイルの内容を変更する可能性があるこれらの 2 つの方法には違いがありますか?

FileStreamディスク上にローカルに配置されたファイル、またはネットワーク内の別の場所にあるリモート ディスクへのファイル ハンドルを開きます。を開くとFileStream、その特定のファイルを直接操作しています。

一方、はHTTP プロトコルWebClientのラッパーです。HTTP 要求および応答メッセージを作成して、それらを簡単に操作できるようにする役割があります。ファイルなどのリソースや、特にその場所を直接認識することはありません。それが知っているのは、仕様に準拠したメッセージを作成し、要求を送信し、応答を期待することだけです。

于 2015-06-17T07:22:21.663 に答える