4 Stimmen

C# Dateiexportproblem

Ich verwende diesen Code, um Dateien (pdf/xls/doc) zu exportieren/öffnen.

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();

Wenn ich eine doc-Datei mit Word öffne und auf Export nach xls oder pdf klicke, passiert nichts, bis ich Word schließe. Nachdem ich Word geschlossen habe, kann ich auch xls und pdf öffnen.

Dieses Problem tritt auf, wenn ich xls mit Excel öffne.

Was ist der Grund?

2voto

Aristos Punkte 64742

Der Grund ist, dass Word und andere Word-ähnliche Programme die geöffneten Dateien sperren, um eine erneute doppelte Öffnung zu vermeiden. Daher kann die gesperrte Datei nicht erneut von Ihrer Anwendung geöffnet werden.

1voto

jbl Punkte 15039

Je nach der Word-Version, die Sie verwenden, würde ich sagen, dass das Problem vom inline content-disposition kommt.

In den neueren Versionen von Word (gesehen in Word 2010) versucht es, das Dokument im WEBDAV-Modus zu öffnen, wenn es inline ist, was zu Problemen führen kann (Sperrungen, fehlende Cookies oder Anmeldeinformationen beim Versuch, das Dokument zu exportieren/drucken).

Sie können Ihren Netzwerkverkehr überprüfen, um zu sehen, ob dieses WEBDAV-Verhalten involviert ist, und prüfen, ob content-disposition Anlage das Problem löst.

Hoffentlich wird Ihnen das helfen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X