يمكن تحقيق وظيفة تحميل الملف باستخدام تقنية تحميل المكونات أو المكونات الأقل في ASP. من هذا، يمكننا استخدام تقنية التحميل بدون مكونات الخاصة بـ ASP لإنشاء خادم FTP افتراضي على موقع الويب الخاص بنا، مثل خادم FTP الحقيقي، يمكننا توفير إدارة الملفات عن بعد لعدة مستخدمين ، وفي الوقت نفسه، يمكن لكل مستخدم تشغيل المستند الخاص به فقط .
عندما يتم تحميل ملف، يمكن لـ ASP استخدام FSO أو قاعدة البيانات لحفظ بيانات الملف (بعض الخوادم لا توفر وظيفة FSO). أستخدم هنا قاعدة بيانات لحفظ الملفات التي تم تحميلها من قبل المستخدمين، ولن أخوض في مزايا استخدام قاعدة البيانات، ولكن هناك الكثير. سبب آخر هو أن IIS يحد من حجم تحميل الملفات (ربما بحد أقصى 200 كيلو بايت). باستخدام طريقة قاعدة البيانات، يمكنك استخدام تقنية الاستئناف لاختراق هذا الحد، ويمكنك تحميل ملفات كبيرة جدًا ، كبيرة جدًا، كبيرة جدًا، وما إلى ذلك. .
*****************
(هههه لقد تحدثت كثيرا من الهراء، فلنتحدث أولا عن مبادئ وطرق التنفيذ، ثم نتحدث عن طريقة استخدام البرمجيات لتنفيذه)
*****************
● الخطوة 1: إنشاء قاعدة بيانات على الخادم (ACCESS، SQL-SERVER، MYSQL كلها مقبولة)، والأكثر بساطة هو ACCESS. إنشاء جدولين في قاعدة البيانات:
تحميل إدارة المستخدم: المشرف (المعرف، الاسم، كلمة المرور، النوع)
حفظ بيانات الملف الذي تم تحميله: الملفات (ID، ParentID، FileName، FileLength، FileType، FileData، UpDate، UserID).
إذا كان FileLength = 0، فهذا يعني أنه مجلد، ويتم إنشاء مجلد جذر لكل مستخدم.
● الخطوة 2: قم بإنشاء صفحة تسجيل دخول للمستخدم واستخدم SESSION لحفظ معرف المستخدم للحد من عملياته على الملفات.
الجلسة ("الاسم") = القائمة ("SName")
Session("UID") = list("ID")
● الخطوة 3: إنشاء الصفحة الرئيسية للمستخدم (عرض الملفات التي تم تحميلها من قبل المستخدمين)
strSQL = "SELECT * FROM files WHERE ParentID =" & userRootID ' userRootId هو معرف المجلد الجذر للمستخدم
strSQL = strSQL & "وUserID=" & SESSION("UID")
strSQL = strSQL & "الترتيب حسب اسم الملف"
● الخطوة 4: تحميل قائمة صفحات الملف.AddNew
list("ParentID") = userRootID
قائمة ("اسم الملف") = النموذج ("الاسم")
list("FileLength") = النموذج("Length")
قائمة ("نوع الملف") = النموذج ("النوع")
list("FileData").AppendChunk MidB(sdata,Form("Start"),Form("Length"))
list("UserID") = الجلسة("UID")
قائمة ("UpDate") = الآن ()
تحديث القائمة
● الخطوة 5: عمليات إدارة الملفات (استخدم معرف الملف لتحديد الملف وتقييد عمليات المستخدم)
حذف: "حذف * من الملفات حيث المعرف = " & iID & " ومعرف المستخدم = " & الجلسة ("UID")
تنزيل: "SELECT * FROM files WHERE ID=" & iID & " AND UserID =" & Session("UID")
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open myConnStr
تعيين القائمة = conn.Execute("SELECT * FROM files WHERE ID=" & iID & " AND UserID =" & Session("UID"))
إذا لم يكن list.EOF ثم
إذا كانت القائمة ("FileLength") > 0 ثم
Response.AddHeader "التخلص من المحتوى"، "مضمن؛ اسم الملف =" & list("اسم الملف")
Response.ContentType = list("FileType")
Response.Binarywrite(list("FileData").GetChunk(list("FileLength")))
نهاية إذا
End If
● أكمل فقط بعض صفحات العمليات المساعدة الأخرى. بالطبع، نظرًا لقيود المتصفح، لا يمكن استخدام تقنية استئناف تحميل الملفات مباشرة ولا يمكن تنفيذها إلا من خلال برنامج العميل . يوجد برنامج على الإنترنت يسمى "Upload File Manager" (بما في ذلك كود مصدر ASP)، والذي ينفذ الوظائف المذكورة أعلاه. سنناقش أدناه كيفية استخدام هذا البرنامج لإنشاء خادم FTP الظاهري الخاص بنا.
عنوان تنزيل البرنامج: http://www.blue999.com/webfiles/uploadfiles_setup.exe
***************
(الأمر معقد للغاية. أبقِ الأمر بسيطًا. دعنا نلقي نظرة على كيفية استخدام "Upload File Manager" لتنفيذ خادم FTP افتراضي.)
***************
● 1. بعد تنزيل البرنامج وتثبيته، قم بتحميل ملف ASP المرفق مع البرنامج إلى موقع الويب باستخدام برنامج FTP (مثل التحميل إلى ملفات الويب)
2. قم بتنفيذ برنامج العميل وضبط مسار الخادم للمجلد الذي تم تحميله. اسم المستخدم وكلمة المرور للمسؤول المتميز كلاهما مسؤول.
3. تنفيذ إدارة المستخدم وإضافة وحذف وتعديل وتمكين/تعطيل وتحديد حجم الملفات التي تم تحميلها من قبل المستخدمين.
● 4. حسنًا، تم إنشاء خادم FTP الافتراضي، ويقوم كافة المستخدمين بإدارة ملفاتهم من خلال البرنامج (الموجود على العميل). يعمل البرنامج بشكل مشابه للمستكشف.
5. يوفر البرنامج أيضًا كود مصدر ASP لبعض أمثلة التطبيقات، ويمكنك التحقق منه بنفسك.