PDA

View Full Version : مشکل با دانلود فایل از سرور



barzin144
پنج شنبه 15 فروردین 1392, 13:55 عصر
سلام من یک لینک دانلود گذاشتم،
<asp:HyperLink id="hlnkDownload" runat="server" Target="_blank" NavigateUrl="~/Files/Newfolder1/1.txt" Text="Download" />


حالا وقتی کلیک میکنم روش فایلو باز میکنه تو یه صفحه دیگه، حتی اگه عکس باشه هم بازش میکنه ،
سایت های دیگه هم سورسشونو دیدم اونا هم همین کارو کردن ولی وقتی کلیک میکنم خیلی شیک IDM باز میشه واسه دانلود، میخوام حتما با html این کارو بکنم تو کد #C با

Response.ContentType = "image/PNG";
Response.AppendHeader("Content-Disposition","attachment; filename=nagh.png");
Response.TransmitFile( Server.MapPath("~/Files/NewFolder1/nagh.png") );
Response.End();

این کد مشکلی نداره دانلود میشه ولی من نمیخوام از این استفاده کنم لطفا راهنمایی کنید مرسی

amirsajjadi
پنج شنبه 15 فروردین 1392, 15:22 عصر
این مشکل برمیگرده به مرورگرتون.

barzin144
پنج شنبه 15 فروردین 1392, 15:27 عصر
ممنون از پاسختون ولی سایت های دیگه چه کار میکنن که IDM باز میشه؟ من باید چه کار کنم؟ با همون مرورگر سایت های دیگه رو باز میکنم

barzin144
پنج شنبه 15 فروردین 1392, 15:30 عصر
خودم قبلا یه سایت با visual 2010 نوشته بودم و با همین هایپر لینک دانلود میکرد، ولی این و با2012 نوشتم دانلود نمیکنه میتونه از visual باشه؟

amirsajjadi
پنج شنبه 15 فروردین 1392, 15:46 عصر
خودم قبلا یه سایت با visual 2010 نوشته بودم و با همین هایپر لینک دانلود میکرد، ولی این و با2012 نوشتم دانلود نمیکنه میتونه از visual باشه؟

نه ربطی به vs2012 نداره.

http://stackoverflow.com/questions/7632682/image-download-from-browser
http://stackoverflow.com/questions/3889521/response-addheadercontent-disposition-not-opening-file-in-ie6

barzin144
پنج شنبه 15 فروردین 1392, 16:10 عصر
گفتم نمیخوام #C باشه، رفته رو اعصابم چرا یه سایتی مثه p30download با همین تگ a دانلود میشه من که میزارم نمیشه؟؟ اصن نمی فهمم چرا قبلا مشکل نداشته

barzin144
پنج شنبه 15 فروردین 1392, 16:20 عصر
اینجا هم از تگ a استفاده کرده خیلی شک IDM باز میشه
http://www.goldcoastwebdesigns.com/create-download-link.shtml
لطفا کمک کنید.ممنون

barzin144
پنج شنبه 15 فروردین 1392, 17:13 عصر
لطفا کمک کنید.ممنون

Beginner2013
پنج شنبه 15 فروردین 1392, 18:28 عصر
سلام.
این کد رو به فایل Global.asax تون اضافه کنید:

void Application_BeginRequest(object sender, EventArgs e)
{
string abs_url = Context.Request.Url.AbsoluteUri;
string abs_path = Context.Request.Url.AbsolutePath;
if (Context.Request.Url.AbsolutePath.EndsWith(".txt"))
{
string name= System.IO.Path.GetFileName(abs_path);
Context.Response.AppendHeader("Content-Disposition", "attachment;"+name);
}

}

به این ترتیب هر در خواستی برای خوندن فایل های txt. فرستاده بشه،این فایل بجای نشون داده شدن دانلود خواهد شد.
می تونید سایر پسوندهارو هم به این شکل اضافه کنید.

barzin144
پنج شنبه 15 فروردین 1392, 18:40 عصر
ممنون ولی در application_start که میزارم ارور میده Request is not available in this context
بیرونش هم که کار نمکنه :(

Beginner2013
پنج شنبه 15 فروردین 1392, 18:43 عصر
سلام همونطور که میبینید من داخل Application_BeginRequest گذاشتم چون اولین روالی هست که برای هر درخواست اجرا میشه.

barzin144
پنج شنبه 15 فروردین 1392, 18:45 عصر
گفتم بیرون گذاشتم کار نکرد اصلا

Beginner2013
پنج شنبه 15 فروردین 1392, 18:56 عصر
اگر چه مطمئن بودم تستش کردم و مشکلی نبود..

barzin144
پنج شنبه 15 فروردین 1392, 19:00 عصر
اصن نمیفهم چیشه :(
سایت قبلیم مشکلی نداره اصلا ولی همون پیج و داخل این پروژه کپی میکنم بازم کار نمیکنه:( یعنی میشه از VS2012 Express باشه؟؟

Beginner2013
پنج شنبه 15 فروردین 1392, 19:11 عصر
نه دوست من ربطی به VS و اینها نداره.ممکنه از تنظیمات header و mimetype وب سرورتون باشه.هیچ خطای Runtime و مشکلی به VS مربوط نمیشه؛ VS فقط یک IDE هست که می تونید اصلا ازش استفاده نکنید.فضای System.Net رو اد کنید و با استفاده از کد زیر در خواستی رو با آدرس URL فایلتون ارسال کنید تا ببینید هدرهای ارسالی سرور چیان:

HttpWebRequest req = (HttpWebRequest)WebRequest.Create(آدرس فایل);
HttpWebResponse res = (HttpWebResponse)req.GetResponse();
Response.Write(res.Headers.ToString());
Response.End();

barzin144
پنج شنبه 15 فروردین 1392, 20:37 عصر
ببخشید ولی من چیزی از این نمیفهمم:(
Accept-Ranges: bytes Content-Length: 0 Content-Type: text/Plain Date: Thu, 04 Apr 2013 18:34:23 GMT ETag: "96f9271ac430ce1:557" Last-Modified: Wed, 03 Apr 2013 23:36:45 GMT Server: Microsoft-IIS/6.0 X-Powered-By: ASP.NET

barzin144
پنج شنبه 15 فروردین 1392, 21:19 عصر
جالبه که سایت قبلیم تو لوکال هم دانلود میاره ولی این یکی نمشه اصن نمیتونم درک کنم