[ad_1]
أعزائي،
أحتاج إلى بعض المساعدة في تحويل مصفوفة بايت “التي جاءت من قاعدة البيانات” إلى pdf. هل يمكن لأحد أن يعطيني مثالاً على كيفية استخدام C#؟ وهنا ما لدي حتى الآن،
using System.IO; string sFile = "c:\testpdf.pdf"; //Path FileStream fs = File.Create(sFile); BinaryWriter bw = new BinaryWriter(fs);
ولقد استخدمت هذا لتحويل ملف Pdf إلى صفيف بايت:
FileUpload1.SaveAs(filePathName); byte[] picArray= System.IO.File.ReadAllBytes(filePathName);
شكرا لك مقدما،
الحل 1
يبدو أنك تحاول كتابة مجموعة بايت من قاعدة بيانات إلى ملف: لماذا يسبب لك هذا مشاكل؟ إذا كان لديك البايتات، فقط اكتبها:
File.WriteAllBytes(@"C:\testpdf.pdf", myArrayOfBytes);
(يجب أن تدرك أن هذا من المحتمل أن يفشل – غالبًا ما تمنع مشكلات الأذونات الكتابة إلى الدليل الجذر لمحرك الأقراص الثابتة – حاول استخدام دليل فرعي بدلاً من ذلك)
الحل 2
Response.Clear(); MemoryStream ms = new MemoryStream(pdfBytearray); Response.ContentType = "application/pdf"; Response.AddHeader("content-disposition", "attachment;filename=labtest.pdf"); Response.Buffer = true; ms.WriteTo(Response.OutputStream); Response.End();
الحل 3
إذا كان مصفوفة بايت، فيمكنك كتابتها على القرص بحيث يتم حفظها كملف *pdf.
أو
إما، يمكنك كتابة البايتات إلى دفق إخراج الاستجابة وسيُطلب من المستخدم تنزيل الملف وحفظه.
Response.Clear(); Response.ContentType = "application/pdf"; Response.AppendHeader("Content-Disposition", "inline;filename=data.pdf"); Response.BufferOutput = true; byte[] pdf; Response.AddHeader("Content-Length", response.Length.ToString()); Response.BinaryWrite(pdf); Response.End();
هل يمكنك من فضلك إلقاء نظرة على هذا الرمز. لقد حصلت عليه من الرابط أدناه.
http://social.msdn.microsoft.com/Forums/en-US/csharplanguage/thread/6810a67f-66d9-4ce4-87e5-06dbbb754730/[^]
ارجوا ان يساعدك هذا.
[ad_2]
コメント