PDA

View Full Version : سوال: دانلود فایل دخیره شده در دیتابیس (به صورت باینری)



moferferi
شنبه 21 مرداد 1391, 11:15 صبح
سلام.

من برای دخیره فایل توی دیتابیس به این شکل عمل میکنم
tb.FileScan = System.IO.File.ReadAllBytes(path + "\\images\\1.pdf");
و برای نمایش از یه هندلر مثل
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "application/pdf";
SqlConnection con = new SqlConnection(conString);
SqlCommand cmd = new SqlCommand("SELECT FileScan FROM ScanFiles WHERE Id=@Id", con);
cmd.Parameters.AddWithValue("@Id", context.Request["Id"]);
using (con)
{
con.Open();
byte[] file = (byte[])cmd.ExecuteScalar();
context.Response.BinaryWrite(file);
}
}

public bool IsReusable {
get {
return false;
}
}

و شاید یه هندلری که توش خروجی های متعددی تعریف شده باشه.که میاد فایل را نشون میده.
حالا بر فرض اگه رو سیستم شخص برنامه اکروبات نصب نباشه فایل را هندل نمیکنه.
من میخوام تحت هر شرایطی و هر نوع پسوندی فایل را روی هارد ذخیره کنه.مثل خیلی جاها که موقع دانلود فایل سوال میکنه که تصمیم به نمایش دارید یا دخیره

در کل هندلری میخوام که موقع دانلود فایل حتما سوال کنه که میخواهید دانلود کنید یا نمایش.و اون وقت اگه نرم افزار مورد نطر رو سیستم نصب بود که بره نمایش بده در غیر این صورت پنجره openwith باز بشه