من یه فایل PDF ساختم و وارد Rrsource برنامه ام کردم و می خواهم با WEB Browser (با یه آدرس از توی درایو رفتم ، شد.) اون رو نمایش بدم .
کسی می تونه کمکم کنیه ؟؟؟
یا علی !!!
من یه فایل PDF ساختم و وارد Rrsource برنامه ام کردم و می خواهم با WEB Browser (با یه آدرس از توی درایو رفتم ، شد.) اون رو نمایش بدم .
کسی می تونه کمکم کنیه ؟؟؟
یا علی !!!
سلام. گفتم در همین تاپیک بپرسم. این کد:
Path.GetTempFileName();
دقیقاً چه کاری انجام میده؟
در مسیر فایل های موقتی ویندوز که فرضا C:\Windows\Temp هستش با یک الگوی مشخص یک فایل جدید با یک اسم جدید که خودش در نظر میگیره میسازه و به ما مسیر کامل فایلش رو تحویل میده.
مناسبه برای اینکه بخواهیم بدون اینکه تداخلی با فایل های موجود داشته باشه یک فایل موقتی جدید بسازیم و کاری داخلش انجام بدیم.
البته اگه کاربر هیچوقت اون پوشه Temp ویندوز رو خالی نکنه بعد 65535 باری که این متد بهمون سرویس داده دیگه خطا میده، چون اسم فایل هاش بر اساس یک شماره 16 بیتی است و باید حداقل یکی از فایلها قبلی پاک بشن تا بتونه فایل جدیدی بسازه.
در این مثال نمیشه سریع اون فایل رو حذف کرد ولی در حالت کلی اگه امکانش باشه بهتره بعدا خودمون فایلی که مسیرش رو داریم حذف کنیم، گو اینکه در مسیر Temp ویندوز ئه و سایر برنامه ها هم داخلش فایل رو به حال خودش رها می کنند.
چجوری او فایل رو با کد حذف کنیم ؟؟؟؟؟
خیلی ساده، هر فایل موقتی که ساختیم مسیرش رو در لیستی نگه میداریم تا وقتی برنامه داره بسته میشه هر چی فایل در اون لیست هست حذف کنیم.
using System.IO;
public partial class Form1 : Form
{
private List<string> _tempFiles = new List<string>();
public Form1()
{
InitializeComponent();
Application.ApplicationExit += Application_ApplicationExit;
}
private void button1_Click(object sender, EventArgs e)
{
var path = Path.GetTempFileName();
_tempFiles.Add(path);
File.WriteAllBytes(path, Properties.Resources.YourPdfFile);
webBrowser1.Navigate(path);
}
private void Application_ApplicationExit(object sender, EventArgs e)
{
foreach (var path in _tempFiles)
{
File.Delete(path);
}
}
}