4

このコードを使用して、ファイル (pdf/xls/doc) をエクスポート/開くことができます。

Response.Clear();
Response.Buffer = true;

Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.Charset = "UTF-8";
Response.ContentType = mimeType;

Response.AppendHeader("content-disposition", "inline; filename=" + fileName + "." + extension);

Response.BinaryWrite(bytes);
Response.End();

Word で doc ファイルを開き、[xls または pdf にエクスポート] をクリックしても、Word を閉じるまで何も起こりません。Word を閉じた後、既に xls と pdf も開くことができます。

この問題は、Excel で xls を開くと発生します。

理由は何ですか?

4

2 に答える 2

2

その理由は、Word やその他の Word に似たプログラムが、開いているファイルをロックして、再び二重に開かないようにするためです。したがって、ロックされたファイルをアプリケーションから再度開くことはできません。

于 2013-03-29T12:49:09.890 に答える
1

使用する単語のバージョンによっては、問題はinline content-disposition

Word の最近のバージョン (Word 2010 で見られる) では、ドキュメントをWEBDAVモードで開こうとするため、inline問題が発生する可能性があります (ドキュメントをエクスポート/印刷しようとすると、ロック、Cookie または資格情報の欠落)。

ネットワーク トラフィックを調べて、この WEBDAV 動作が関与しているかどうかを確認content-disposition attachmentし、問題が解決するかどうかを確認してください。

これが役立つことを願っています

于 2013-03-29T13:21:11.643 に答える