Konvertieren Byte [], um die PDF-Datei

Mit Hilfe dieser Frage C# 4.0: Konvertieren von pdf in byte[] und Umgekehrt ich war in der Lage zu konvertieren byte [], um die PDF-Datei. Byte-array die Länge wird 25990 ca. Wenn ich versuche, öffnen Sie das PDF-es sagt die Datei ist beschädigt. Was könnte der Grund sein?

Habe ich versucht, den BinaryWriter aber er erzeugt eine PDF-Datei mit 0 KB.

Es ist eine Antwort von einem Web Service

Beispielcode

WebResponse resp = request.GetResponse();
var buffer = new byte[4096];
Stream responseStream = resp.GetResponseStream();
{
  int count;
  do
  {
    count = responseStream.Read(buffer, 0, buffer.Length);
    memoryStream.Write(buffer, 0, responseStream.Read(buffer, 0, buffer.Length));
  } while (count != 0);
}
resp.Close();
byte[] memoryBuffer = memoryStream.ToArray();
System.IO.File.WriteAllBytes(@"E:\sample1.pdf", memoryBuffer);
int s = memoryBuffer.Length;

BinaryWriter binaryWriter = new BinaryWriter(File.Open(@"E:\sample2.pdf", FileMode.Create));
binaryWriter.Write(memoryBuffer);
  • Woher kommt diese byte[] kommen? Was genau stellt es dar? Welchen Weg hat es ausgeführt haben, bevor es kommt dann als variable im code? Nicht Sie massage es hin und wieder mit den Charakteren in der Zwischenzeit?
  • Können Sie post-Codes? Die Frage haben nicht genug Informationen für eine Antwort. By the way = 25990 bytes über 25KB.
  • Wir sind keine Hellseher, poste den code bitte sonst werden wir am Ende der Aufnahme selbst in den Fuß und Risiko downvotes für falsche Antworten, die nicht zufrieden sind!
  • diese Zeile ist sinnlos - int s = memoryBuffer.Länge; Wo ist memorystream? Sie sind nicht mit der using-Klausel...
  • Tut mir Leid Leute. ich habe aktualisiert die Frage @Oded, Da es sagt die Datei ist beschädigt, ich dachte noch einige byte möglicherweise nicht richtig geschrieben.
  • mögliche Duplikate von C# 4.0: Konvertieren von pdf in byte[] und Umgekehrt
  • Es sieht aus wie Ihre do/while-Schleife wird abgehört, dass Ihr Schreiben () - Aufruf beginnt immer bei index 0, eher als count sind, so sind Sie fortlaufend überschreiben der erste Teil des Puffers. Dies könnte dann funktionieren, wenn die Lesen Sie zuerst passiert man die gesamte Datei, wenn.
  • Unter Berücksichtigung der Ursache des Problems könnte sein, den Fehler habe ich hingewiesen, ich glaube nicht, dass dies ein exaktes Duplikat. Vielleicht lassen Sie OP herauszufinden, das problem mit unserer Hilfe erste, dann können wir es schließen wenn es sich um ein dupe.

InformationsquelleAutor Gopi | 2010-03-16
Schreibe einen Kommentar