PDA

View Full Version : حرفه ای: استفاده از فایل pdf در Resource به عنوان آرایه ای از بایت



drsina
جمعه 29 آذر 1392, 13:16 عصر
باسلام .
متاسفانه اجازه ادد کردن فایل پی دی اف و اضافه کردن اون از طریق :
WindowsFormsApplication1.Properties.Resources
نیست . چرا ؟!

حالا اگر من بخوام به یه فایل که به منبع اون دسترسی ندارم ، را ایجاد کنم ، و اونو به صورت آرایه ای از بایت ذخیره کنم از طریق ریسورس میشه ؟!
byte[] picArray = System.IO.File.ReadAllBytes();


و بعد دوباره ایجاد کنم :
File.WriteAllBytes();

در کل کاری که می خوام انجام بدم اینه که با انجام یه Event مثلا (کلیک) یک فایل پی دی اف رو از طریق فایل اجرایی (exe) در دسکتاپ ایجاد کنم.
کسی از دوستان راهی نداره ؟!

دقیقان .
منظور کلی من اینه که میشه آرایه ای از بایت رو در داخل فایل exe به صورتی ذخیره کرد و بعد همون آرایه رو به فایل ریخت و فایل جدید رو ساخت؟

Mahmoud.Afrad
جمعه 29 آذر 1392, 22:58 عصر
روی نام پروژه در Solution explorer راست کلیک و Properties را انتخاب کنید. در پنجره باز شده در تب Resources نوع ریسورس را روی files بزارید و یا ctrl+5 را فشار بدید. از طریق Add resource فایل را اضافه کنید. در این صورت این ریسورس به صورت آرایه ای از بایت ها در دسترس هست که میتونید روی هارد ذخیره کنید:

System.IO.File.WriteAllBytes("myfile.pdf", Properties.Resources.resourceName);

منظور از resourceName نام ریسورس هست.

drsina
جمعه 29 آذر 1392, 23:26 عصر
سلام .
ممنون از جوابت .
کد من این شد :
byte[] picArray = System.IO.File.ReadAllBytes(Properties.Resources.F ile);
System.IO.File.WriteAllBytes(@"Path", picArray);

ولی حالا اررو Illegal characters in path. میده (در خط اول) . ماله چیه این ؟!

Mahmoud.Afrad
شنبه 30 آذر 1392, 01:00 صبح
Properties.Resources.File خودش آرایه ای از بایت هاست.

drsina
شنبه 30 آذر 1392, 11:40 صبح
سلام .
System.IO.File.WriteAllBytes(@"Path \ File.pdf", WindowsFormsApplication1.Properties.Resources.File );


بازم اررور میده . آخه Properties.Resources.File استرینگ بر می گردونه ....
نمیشه همینجوری به عنوان آرگومان فرستادش ، اررو تبدیل به بایت به صورت ضمنی میده .