none
extern abgelegtes PDF per Webrequest laden? RRS feed

  • Frage

  • Guten Morgen,

    ich habe derzeit ein Problem, was mir doch ein paar Kopfschmerzen bereitet. Ich wollte ein PDF, was sich auf ein Azure Blobstorage befindet, per Webrequest in ein Stream laden und anschließend mithilfe der pdfsharp-Bibliothek auf ein vorgefertigtes PDF ausgeben. Das ausgeben lasse ich hier mal aussen vor, da ich dies bereits mit einem lokal abgelegten PDF versucht habe und zum Glück auch gelungen ist. Ist das PDF jedoch auf dem Blobstorage kann ich weder Stream.Length noch die Stream.Position auslesen. Beides ist jedoch notwendig um aus den Stream ein PDF formen zu können.
    Die fehlenden Sucheigenschaften habe ich anschließend auch versucht zu umgehen. Ich habe einen BinaryReader auf den Stream angewendet und jedes byte im Stream in ein ByteArray geschrieben. Damit könnte ich theoretisch was anfangen. Leider dauert diese Möglichkeit elendig lange und ist daher nicht wirklich Produktiv. (schlappe 180kb dauern ca. 20sek)

    Hier erstmal den Code den ich bis jetzt geschrieben habe. Ist nicht unbedingt viel. Auch bin ich noch nicht lange in der Materie drin. Ich bitte also um verständniss! =D

    WebRequest fileWebRequest = WebRequest.Create(strPdfUrl);
    
          Stream stream = fileWebRequest.GetResponse().GetResponseStream();
          BinaryReader reader = new BinaryReader(stream);
    
          byte[] byteArray = new byte[1];
    
          int i = 0;
    
          foreach (byte resultByte in reader.ReadBytes(1000000))
          {
            byteArray[i] = (byte)resultByte;
            Array.Resize(ref byteArray, byteArray.Length + 1);
    
            i++;
          }
    
          reader.Close();
    


    Ich hoffe ich konnte euch mein Problem recht gut schildern. Auf Antworten würde ich mich sehr freuen! =)

     

    MfG Jasper

     

    Mittwoch, 29. Juni 2011 07:59

Antworten

Alle Antworten