Mein stream hält werfen Read/Write Timeout Ausnahmen

Ich bin Parsen einer PowerPoint-Präsentation mit Open-Office-SDK 2.0. An einem Punkt in dem Programm, das ich übergeben einen stream um eine Methode, mit der wieder ein Bild ist MD5. Es scheint jedoch ein problem in den stream, bevor er kommt sogar in meine MD5-Methode.

Hier ist mein code:

//Get image information here.
var blipRelId = blip.Embed;
var imagePart = (ImagePart)slidePart.GetPartById(blipRelId);
var imageFileName = imagePart.Uri.OriginalString;
var imageStream = imagePart.GetStream();
var imageMd5 = Hasher.CalculateStreamHash(imageStream);

Im debug, bevor ich ließ ihn fallen in Hasher.CalculateStreamHash prüfe ich den imageStream Eigenschaften. Sofort sehe ich, dass die ReadTimeout und WriteTimeout beide haben den gleichen Fehler:

imageStream.ReadTimeout' threw an exception of type 'System.InvalidOperationException
imageStream.WriteTimeout' threw an exception of type 'System.InvalidOperationException

Hier ist ein Bild von den Eigenschaften, die ich"m zu sehen, während debug, falls es hilft:
Mein stream hält werfen Read/Write Timeout Ausnahmen

Dieser code ausgeführt wird, über eine PowerPoint-Präsentation. Ich Frage mich, ob die Tatsache, dass es gezippt (eine PowerPoint-Präsentation ist im Grunde nur eine Zip-Datei) ist der Grund, warum ich bin, sehen diese timeout-Fehler?

UPDATE: ich habe versucht, die Einnahme der Bach, immer das Bild und konvertieren Sie es in ein byte-array und versenden, um die MD5-Methode, die als ein Speicher-stream, aber ich bekomme immer noch die gleichen Fehler in der Lese - /Schreib-Timeout Eigenschaften des Streams. Hier der code wie es jetzt ist:

//Get image information here.
var blipRelId = blip.Embed;
var imagePart = (ImagePart)slidePart.GetPartById(blipRelId);
var imageFileName = imagePart.Uri.OriginalString;
var imageStream = imagePart.GetStream();

//Convert image to memory stream
var img = Image.FromStream(imageStream);
var imageMemoryStream = new MemoryStream(this.imageToByteArray(img));
var imageMd5 = Hasher.CalculateStreamHash(imageMemoryStream);

Für Klarheit, hier ist die Signatur für die CalculateStreamHash Methode:

public static string CalculateStreamHash([NotNull] Stream stream)

InformationsquelleAutor Kevin | 2014-10-10

Schreibe einen Kommentar