HttpWebRequest - Modtagelse af pdf fil
Hvordan vil man håndtere en pdf fil der kommer igennem HttpWebRequest. Jeg har prøvet nogle løsninger og jeg kan formåede at gemme filen. Men kan desværre ikke åbne den (får fejl). Men hvis jeg åbner den igennem notepad, så kan jeg se hele filen. f.eks<ShipmentResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><ConsignmentId>YN1KXUEB</ConsignmentId><PDF>JVBERi0xLjQKJeLjz9MKMSAw...</PDF><Parcels><ParcelResponse><UniqueNumber>YN1KXUEB</UniqueNumber><ParcelNumber>03433303075</ParcelNumber><NdiNumber /><Routing><Primary2D>ADK0048DK00262080034333208a788ChDYN1KXUEBBB 1KBH204S2400 0008000100103433303075 03433303075 </Primary2D><Secondary2D>A\7CSoftcode\7CMågevej 65\7CKBH\7C \7C\7C\7C </Secondary2D><NationalRef>03433303075</NationalRef></Routing></ParcelResponse></Parcels></ShipmentResponse>
Kodet jeg har anvendt.
var fileName = reader["OrdreID"].ToString();
byte[] lnBuffer;
byte[] lnFile;
using (WebResponse response = req.GetResponse())
{
using (BinaryReader lxBR = new BinaryReader(response.GetResponseStream()))
{
using (MemoryStream lxMS = new MemoryStream())
{
lnBuffer = lxBR.ReadBytes(1024);
while (lnBuffer.Length > 0)
{
lxMS.Write(lnBuffer, 0, lnBuffer.Length);
lnBuffer = lxBR.ReadBytes(1024);
}
lnFile = new byte[(int)lxMS.Length];
lxMS.Position = 0;
lxMS.Read(lnFile, 0, lnFile.Length);
}
}
}
using (System.IO.FileStream lxFS = new FileStream(Server.MapPath("../PDF/" +fileName+".pdf"), FileMode.Create))
{
lxFS.Write(lnFile, 0, lnFile.Length);
}