View Full Version : طريقه ساخت لينك دانلود فايل
fazel-d
شنبه 26 بهمن 1387, 09:16 صبح
من از <a> و تگ hyperlink براي اين منظور استفاده كردم .ولي با زدن بر روي لينك كه شامل آدرس فايل هم هست / به جاي اينكه ديلوگ باكس مربوط به SaveAS باز بشه / محتواي فايل در صفحه نشان داده مي شه . حال من مي خوام كه ديلوگ باكس مربوط به SaveAS باز بشه.
hassanf
شنبه 26 بهمن 1387, 10:25 صبح
سلام
با StreamReader فایل بریز تو بافر بعد با Responce رایت کن.
fazel-d
شنبه 26 بهمن 1387, 12:58 عصر
ميشه بيشتر توضيح بدين كه بايد چه كنم؟
از كلاس streamReader چگونه استفاده كنم؟
fazel-d
شنبه 26 بهمن 1387, 13:18 عصر
بيشتر فايل ها PDF هستند .و نيازي به تعداد دانلود ها ندارم
صرفا مي خواهم فايل براي كاربر به صورت DialogBox در آمده و قابليت Save داشته باشه.
حالا اگه از
این مشکل بیشتر برای فایل های متنی هستش.بهتره یک کوئری پاس بدید و در صفحه دریافت با یک sleep() تایمر دانلود رو بررسی کنید و بعد ریدایرکت بشه.
اگر فایل شما غیر متنی هست.بهتره بیشتر مواقع از زیپ یا rar استفاده کنید.
با روشی که گفتم تعدا دانلود رو هم میشه محاسبه کرد.
بهينه هست /ممنون مي شم بيشتر توضيح بدين
hassanf
یک شنبه 27 بهمن 1387, 15:16 عصر
سلام
FileStream stream = new FileStream(filePath, FileMode.Open, FileAccess.Read);
byte[] buffer = new byte[(int)stream.Length];
stream.Read(buffer, 0, (int)stream.Length);
stream.Close();
Response.Buffer = true;
Response.Clear();
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-disposition", string.Format("attachment; filename={0}", fileName));
Response.BinaryWrite(buffer);
fazel-d
دوشنبه 28 بهمن 1387, 19:42 عصر
خوب من هم کدی که در بالا hassanf زد رو پیدا کردم
HttpContext.Current.Response.ContentType = "application/octet-stream"; HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + System.IO.Path.GetFileName(filePath));
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.WriteFile(filePath);
HttpContext.Current.Response.End();
این مشکل تا حدودی قابل حله.
با کد بالا یه DialogBox باز می شه و کاربر امکان Save یا open و یا Cancel رو داره
اما من می خوام بعد از اینکه کاربر فایل رو دانلود کرد (Save ) یکسری مشخصات مثل زمان دانلود و ... در بانک ذخیره کنم .یعنی بعد از دانلود فایل
ایا راه حلی برای این مورد یافت می شه ؟
fazel-d
چهارشنبه 30 بهمن 1387, 01:52 صبح
در واقع می خوام تعداد دانلود ها رو داشته باشم
لطفا راهنمایی بفرمائید
milade
چهارشنبه 30 بهمن 1387, 12:53 عصر
سلام علیکم
قبل از کد اقا حسن یه اینزرت داشته باشید به بانک و اطلاعات مورد نیاز رو بفرستید !
موفق باشید
fazel-d
پنج شنبه 01 اسفند 1387, 16:04 عصر
حالا اگه من insert كنم ممكن است بعد از كادر SaveAz دكمه Cancel رو بزنه اونوقت خودت در مورد گفتت چي فكر مي كني ؟؟؟
دنبال كدي هستم كه بعد از اتمام ارسال فايل از سمت سرور به كلاينت / يه اطلاعاتي مثلا دستور Insert مربوطه به سمت سرور ارسال شود ...
fazel-d
شنبه 03 اسفند 1387, 13:34 عصر
به نظر شما آماری که برای تعداد دانلود ها می دن دقیق نیست ؟
Copricorn
یک شنبه 04 اسفند 1387, 12:31 عصر
آماری که میدن دقیق نیست!!!
همه جا قبل از Download شدن توی بانک ثبت میکنن
شما هم همین کار رو بکن
مهم اینه که کاربر خواسته Download کنه:چشمک:
fazel-d
یک شنبه 04 اسفند 1387, 20:00 عصر
HttpContext.Current.Response.ContentType = "application/octet-stream"; HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + System.IO.Path.GetFileName(filePath));
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.WriteFile(filePath);
HttpContext.Current.Response.End();
کد Insert رو قبل و بعد از کد های بالا قرار می دم / انجام نمی شه؟ علتش رو کسی می دونه.
مثل این می مونه که وقتی روی باتن کلیک می شه به صورت Client-Side انجام می شه.
fazel-d
سه شنبه 06 اسفند 1387, 02:14 صبح
قبل از کد اقا حسن یه اینزرت داشته باشید به بانک و اطلاعات مورد نیاز رو بفرستید !
پس دوستانی که میگن insert کن / لطف کنن و راهمانیی کنن
milade
سه شنبه 06 اسفند 1387, 07:55 صبح
سلام
حالا اگه من insert كنم ممكن است بعد از كادر SaveAz دكمه Cancel رو بزنه اونوقت خودت در مورد گفتت چي فكر مي كني ؟؟؟
شما میتونید دنبال راه حلهای بهتری باشید ! مشکل ما نیست که !
کد Insert رو قبل و بعد از کد های بالا قرار می دم / انجام نمی شه؟ علتش رو کسی می دونه.
کد نویسی شما بده چون من یه تست براتون نوشتم توی پروژه زیر ( تا دیگه ... ) امتحانش کنید !
موفق باشید
fazel-d
سه شنبه 06 اسفند 1387, 18:09 عصر
کد نویسی شما بده
می خوام بدونم که کد هایی که زدین با کد های زیر چه فرقی دارن
HttpContext.Current.Response.ContentType = "application/octet-stream"; HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + System.IO.Path.GetFileName(filePath));
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.WriteFile(filePath);
HttpContext.Current.Response.End();
شما قضاوت کنید
milade
سه شنبه 06 اسفند 1387, 18:20 عصر
سلام
من نگفتم فرق داره .
این قسمت رو گقتم کد نویسیت اشکال داره :
کد Insert رو قبل و بعد از کد های بالا قرار می دم / انجام نمی شه؟ علتش رو کسی می دونه.
دیدید که برا من کار کرد !
موفق باشید
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.