nicht lesen Ich erhalte eine DOCX-Datei als Byte-Array. Ich versuche dann, die lese() - Funktion des Docs mit dem Byte-Array als Datenparameter aufzurufen, bekomme aber einen nicht erkannten Dateierweiterungsfehler.Kann ein Byte-Array (erstellt aus einer DOCX-Datei) in ein Doc-Objekt mit ABCPDF
ich rufen Sie den Byte-Array mit dem folgenden (C#) Code:
WebClient testWc = new WebClient();
testWc.Credentials = CredentialCache.DefaultCredentials;
byte[] data = testWc.DownloadData("http://localhost/Lists/incidents/Attachments/1/Testdocnospaces.docx");
IF mich an dieser Stelle gibt den Byte-Array als DOCX-Datei, wird mein Programm richtig erlauben Sie mir das öffnen oder speichern Datei. Aus diesem Grund glaube ich, dass das Byte-Array korrekt abgerufen wurde. Hier ist ein Beispiel von dem, was ich damit meine eine DOCX-Datei ausgibt:
Response.ClearHeaders();
Response.Clear();
Response.AppendHeader("Content-Disposition", "attachment;Filename=test.docx");
Response.BinaryWrite(data);
Response.Flush();
Response.End();
Allerdings, wenn ich versuche, den Byte-Array in eine Doc zu lesen wie folgt:
Doc doc = new Doc();
XReadOptions xr = new XReadOptions();
xr.ReadModule = ReadModuleType.MSOffice;
doc.Read(data, xr);
Mein Programm Fehler aus Schreiben Sie in der letzten Zeile des folgenden Codes: "FileExtension" war ungültig für ReadModuleType.MSOffice. "
Die Doc.Read() - Funktion scheint eine leere Zeichenfolge zu finden, wo es normalerweise die Datei finden würde Art. Außerdem habe ich Office 2007 auf diesem Computer installiert.
Haben das exakt gleiche Problem. Mir erscheint, als ob die Methode doc.Read() das XReadOptions-Objekt nur dann richtig unterstützt, wenn es direkt aus einer Datei gelesen wird (in diesem Fall überprüft es den angegebenen filename-Parameter für eine gültige Erweiterung). Ziemlich unbequemer Fehler in der Implementierung. – HaukurHaf