الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Downloading A File From The Web Server To The Client

بدأه my_net في 17 أكتوبر 2008 · 18 رد · 1,702 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

أخوانى الكرام

فى كثير من المواقع التى نتعامل معاها نرا روابط امكانية تحميل ملف ما

وعند الضغط عليها نقوم بعميلة تحميل الملف

وهى امكانية تحميل الملفات من ويب سيرفر الى جهاز المستخدم

سؤالى : كيف يمكننى عمل ذلك عن طريق ASP.net

واللغة السى شارب

فى انتظار ردودكم وشكرا

#2

يستعلمون الجافا سكربت مع توليد روابط وهميه ومؤقته

joseph.gif

logo.gif

CCNA 640-802

مدونتي

#3
اقتباس
وهى امكانية تحميل الملفات من ويب سيرفر الى جهاز المستخدم

فقط اعمل link و ضع مسار هذا النلك الي الملف المراد تحميله بدل من وضع مسار صفحة

<a href="/file.zip"> download </a>

لاحظ ان href الخاص باللنك يساوي مسار ملف مثلا file.zip

تم تعديل هذه المشاركة بواسطة AhmedElbaz في 19 أكتوبر 2008 في 09:48

#4

الرابط سهل جدا انك تعمله بالطريقه البسيطه

1 - انشاء Folder جديد فى الموقع

2 - click rigth in this folder ---> فيو ان بروسيس ----> اعمل Copy للرابط بتاع الفلدر من البروسيس الى هو المتصفح

و الباقى فى هذا الكود

_______________________________________________________________

HyperLink1.NavigateUrl = "http://localhost:1045/Test4/Uploads/" + fu_Uploader.FileName

___________________________________________________________________

بدل رابط Folder

و جرب ربنا معاك

لو فى اى حاجه انا موجود

اخوكم / محمد طلعت

Web Development

Mohamed T.Amar

Asp.net , Ajex , MSSQL , MySQL , VB.Net,Java, Xml,DomHtml

m216tt@yahoo.com

#5

لنفرض انه اراد تحميل صوره

هل هاذا الرابط ينفع ؟؟؟

يجب استعمال Javascript حتى لا يضطر الى الضغط rightclick + save as

joseph.gif

logo.gif

CCNA 640-802

مدونتي

#6

شكرا اخوانى الكرام على الردود

فعلا ابسط طريقة هى وضع مجلد داخل الويب سايت تحتوى على الملفات

واستخدام Hyperlink tag

مثال

<a href ="images/2.jpeg">Ahmed</a>
<a href ="Files/ASPNET_Basics.pdf">ASP.net</a> />
#7

أخي الكريم هناك طريق أفضل من الطرق السابقة حيث يمكنك عند تحميل أي ملف احصاء عدد مرات التحميل وأية مستخدمين قاموا بتحميل هذا الملف وذلك عن طري أنشاء صفحة (Generic Handler) تعطيها على سبيل المثال رقم الملف أو اسمه ومن ثم ستقوم بارسال الملف الى المستخدم مثال :

http://www.localhost/Website1/files.ashx?File=file1.zip

حيث ان شيفرة الصفحة السابقة تختلف عن شيفرة صفحة asp.net . حيث أن الملف files.ashx يجب أن يحتوي على المنهج ProcessRequest الذي سيقوم بارسال الملف الى المستخدم . مثال للملف files.ashx

<%@ WebHandler Language="C#" Class="Files" %>

using System;
using System.Web;
using System.Web.Security;

public class Files : IHttpHandler {

	public void ProcessRequest (HttpContext context) {

		//يمكنك اضافة كود للسماح للمستخدمين المسجلين فقط تحميل الملف على سبيل المثال 
		if (!HttpContext.Current.User.Identity.IsAuthenticated)
			FormsAuthentication.RedirectToLoginPage();

		string fileName = HttpContext.Current.Request.QueryString["File"];
		context.Response.WriteFile("~/Files/" + fileName);	   

	}

	public bool IsReusable {
		get {
			return false;
		}
	}
}

تم تعديل هذه المشاركة بواسطة sufian2020 في 19 أكتوبر 2008 في 19:11

رَبِّ أَوْزِعْنِي أَنْ أَشْكُرَ نِعْمَتَكَ الَّتِي أَنْعَمْتَ عَلَيَّ وَعَلَى وَالِدَيَّ وَأَنْ أَعْمَلَ صَالِحًا تَرْضَاهُ وَأَدْخِلْنِي بِرَحْمَتِكَ فِي عِبَادِكَ الصَّالِحِينَ

تلاوات خاشعة مؤثرة

#8

أحسنت أخي الكريم sufian2020 ... بالفعل هذه أكثر طريقة احترافية لتنزيل الملفات ومنها تستطيع التحكم في كل شيء:

1- سرعة تنزيل الملفات

2- مراقبة ما يمكن العميل تنزيله وما لا يمكنه

3- ضبط السيكيوريتي والمساحات المتاحة لكل مستخدم والوقت -مثل موقع رابدشير مثلاً-

وغيرها ... ولا يجب أن تكون ashx ممكن تكون صفحة aspx عادية لكن معمول لها Register داخل Handlers في Web.config

ASP.NET Team Leader

moh_kin_mah@hotmail.com

--------------------------------

لو أعجبك أي من مشاركاتي ... برجاء قم بتقييم المشاركة عبر الأزرار الموجودة أسفل يسار كل مشاركة

#9
اقتباس
ولا يجب أن تكون ashx ممكن تكون صفحة aspx عادية لكن معمول لها Register داخل Handlers في Web.config

صحيح أخي الكريم ولكن استخدام ملفات ashx أسهل حيث ان هذه التقنية بدأت مع asp.net2 ولم تكن متوفرة في النسخ السابقة حيث كان المبرمجين يقومون كما ذكرت بانشاء صفحة aspx عادية وتسجيل Handlers في web.config

رَبِّ أَوْزِعْنِي أَنْ أَشْكُرَ نِعْمَتَكَ الَّتِي أَنْعَمْتَ عَلَيَّ وَعَلَى وَالِدَيَّ وَأَنْ أَعْمَلَ صَالِحًا تَرْضَاهُ وَأَدْخِلْنِي بِرَحْمَتِكَ فِي عِبَادِكَ الصَّالِحِينَ

تلاوات خاشعة مؤثرة

#10

مشكورين يا جماعه عالتوضيح

بس اريد اسأل اذا عندي ملف في مجلد معين وما أريد حد يوصل له ويحمله الا بعد التسجيل

حتى ولو اراد تحميله عبر مسار الملف كاملا ----يعني الملف مو في قاعدة بيانات في مجلد بس اريد أحميه كيف؟؟؟؟

#11
اقتباس
س اريد اسأل اذا عندي ملف في مجلد معين وما أريد حد يوصل له ويحمله الا بعد التسجيل

بامكانك وضع صلاحيات على هذا المجلد بحيث تمنع المستخدمين غير المصرح لهم بذلك من التحميل من هذه الطرق وضع ملف web.config في هذا المجلد واضافة الكود

<authorization >
	  <allow users="?"/>
	</authorization>

وايضا ان كانت ملفات قليلة يمكن وضعها في المجلد app_data واستخدام طريقة الاخ sufian2020 لتحميلها

#12

أشكرك جزيلا عالرد يعطيك العافية

#13
اقتباس
<authorization >

<allow users="?"/>

</authorization>

تعديل بسيط على رد الاخ TareqVB

لمنع دخول المستخدمين الغير مرغوب فيهم نكتب فى ملف Web.config

بدل من استخدم Allow نستخدم Deny

<authorization >
	  <deny users="?"/>
	</authorization>

#14

يعطيك العافية

سوف أقوم بالتجربة

#15

استخدام ملف web.config لمنع الوصول الى مجلد لايجدي نفعاً الا مع الملفات التي تم تسجيلها في مخدم الويب مع aspnet_isapi.dll أي مع ملفات .aspx .ashx .config .cs .vb وغيرها من الملفات الاخرى المسجلة ولمنع ملفات اخرى من خلال هذه الطريقة يجب ان تقوم بتسجيل نوع الملف مع aspnet_isapi.dll من خلال IIS Manager

رَبِّ أَوْزِعْنِي أَنْ أَشْكُرَ نِعْمَتَكَ الَّتِي أَنْعَمْتَ عَلَيَّ وَعَلَى وَالِدَيَّ وَأَنْ أَعْمَلَ صَالِحًا تَرْضَاهُ وَأَدْخِلْنِي بِرَحْمَتِكَ فِي عِبَادِكَ الصَّالِحِينَ

تلاوات خاشعة مؤثرة

#16

يمكنك لمنع تحميل أنواع معينة من الملفات من موقعك أو منع صور من أن توضع في مواقع أخرى مأخوذ مسارها من موقعك أو منع التحميل من مجلد معين ... يمكنك ذلك وأكثر منه عبر عمل Handler للموقع لكل حالة ... وتضيفه في web.config حتى يعمل تلقائياً ما إن تم حدوث الحالة المطلوبة ...

ASP.NET Team Leader

moh_kin_mah@hotmail.com

--------------------------------

لو أعجبك أي من مشاركاتي ... برجاء قم بتقييم المشاركة عبر الأزرار الموجودة أسفل يسار كل مشاركة

#17

الأخ Sufian2020

كلامك مضبوط مثلا ما قدرت امنع تحميل ملفات Zip

والأخ moh>>

أنا قرأت سابقا في الردود عن الHandlers

لكنني حقيقة لا أعرف عنها شيئا وعن كيفية استخدامها

فهل ممكن أن تساعدوني أو تدلوني كيف استخدمها وخصوصا للتعامل مع الملفات ومعرفة من حملها وكم مرة تم تحميلها

يعطيكم الف عافية

#18

موضوع Handlers كبير جداً لا يمكن لأحد شرحه في عدة أسطر .. أنصحك بالاطلاع على بعض الكتب التي تناولت هذا الموضوع في صفحاتها بشكل احترافي ... منها Pro ASP.NET 2008 ... وكذا البحث عن مقالات عبر البحث عبر جوجل

تم تعديل هذه المشاركة بواسطة moh_kin في 4 نوفمبر 2008 في 09:39

ASP.NET Team Leader

moh_kin_mah@hotmail.com

--------------------------------

لو أعجبك أي من مشاركاتي ... برجاء قم بتقييم المشاركة عبر الأزرار الموجودة أسفل يسار كل مشاركة

#19

أشكرك جزيلا

أنا قمت بتحميل الكتاب وهو راااااااااائع جدا وبدأت فعلا بالبحث عن httpHandlers

وجعلت تعلمها على قائمة أولوياتي في الأيام القادمه

الف شكر

مواضيع مشابهة