0

私は PowerPoint デッキを生成し、それらをその場でマージし、結果のコンテンツを HttpResponse オブジェクト経由でストリーミングしています。

            HttpResponse response = HttpContext.Current.Response;
            response.Clear();
            response.AppendHeader("Content-Type", "application/vnd.ms-powerpoint");
            response.AppendHeader("Content-Disposition", "attachment;filename=MasterPresentation.pptx;");
            response.BinaryWrite(masterPresentation.ToArray());
            response.Flush();
            response.Close();

masterPresentationは MemoryStream オブジェクトですダウンロードしたプレゼンテーションを PowerPoint で開くと、次のメッセージが表示されます。

PowerPoint は、MasterPresentation.pptx のコンテンツに問題を検出しました。PowerPoint は、プレゼンテーションの修復を試みることができます。

修復すると、コンテンツの破損はまったくなく、すべて問題ないようです。

4

1 に答える 1

2

私は自分の質問に答えています。他の誰かがこの問題を解決する必要がある場合は、次のものを置き換えるだけです:

        response.Flush();
        response.Close();

        response.End();

例外をキャッチし、結果のプレゼンテーションが破損することはありません。

于 2012-09-12T16:00:04.840 に答える