نسخة الكود كما يلي:
<input name = "file" type = "file">
النماذج = request.totalbytes
formData = request.binaryRead (النماذج)
BNCRLF = CHRB (13) و CHRB (10)
مقسم = leftb (formData ، clng (instrb (formData ، bncrlf))-1)
datastart = instr (formData ، Bncrlf & bncrlf) +4
DataEnd = instr (datastart+1 ، formdata ، مقسم) -datastart
myData = midb (formdata ، datastart ، dataEnd)
النماذج = request.totalbytes
احصل على الحد الأقصى لعدد البايتات التي تم تحميلها
------------------------------------------------------------------------------------------------------------------------------------
formData = request.binaryRead (النماذج)
احصل على بيانات النموذج من الدفق الثنائي
------------------------------------------------------------------------------------------------------------------------------------
BNCRLF = CHRB (13) و CHRB (10)
اضبط CRLF Enter Enter CROP CODE متغير
---------------------------------
مقسم = leftb (formData ، clng (instrb (formData ، bncrlf))-1)
احصل على بيانات البايت على يسار CRLF الأول
يقوم Instrb (FormData ، BNCRLF) -1 بالتحقق من أن قيمة البايت للبايت الثنائي لـ CRLF يتم تقليلها بمقدار واحد ، أي البيانات الثنائية قبل معلومات بت العلم. تجدر الإشارة إلى أن Instrb يعيد CLNG ، لذا فإن إضافة clng هنا غير ضروري
---------------------------------
datastart = instr (formData ، Bncrlf & bncrlf) +4
احصل على بيانات الصورة وقم بإزالة موضع البدء لمعلومات الرأس التي تمت إضافتها بواسطة النموذج ، أي موضع بدء بايت بيانات الملف الحقيقية بعد إرسال النموذج بواسطة النوع = الملف
موقف اثنين متتالي CRLFS +4 (أي ، طول CRLFG واحد)
---------------------------
DataEnd = instr (datastart+1 ، formdata ، مقسم) -datastart
يتم استخدام موضع البيانات +1 الذي تم الحصول عليه من ما سبق كقيمة محسوبة مرجعية للتحقق من نهاية البيانات. يبدأ اكتشاف الموضع عند DataStart+1 في موضع معلومات رأس فاصل النموذج الثنائي الأول ، ثم يطرح الموضع النسبي لخزانة البيانات
------------------------------------------------------------------------------------------------------------------------------------
myData = midb (formdata ، datastart ، dataEnd)
يأخذ MIDB () بيانات BIT Star End لبيانات ملف التحميل التي تم الحصول عليها من قبل العديد من التقلبات والمنعطفات
موافق ---------------> الآن استخراج البيانات الثانوية التي تم تحميلها بشكل نظيف
ملحوظة:
(1). تتم معالجة جميع وظائف VB من سلسلة *B بواسطة Bytes ، ويجب استخدامها للتعامل مع الأنظمة الثانوية.
(2) بعد إرسال بيانات النموذج من النوع = ملف ونوع النموذج المقابل ، يتم إرفاق معلومات الرأس المقابلة بكل حقل ملف.
لذلك ، يجب استخدام الخوارزمية أعلاه للعثور بوضوح على بيانات الملف الحقيقية
(3). في الوقت نفسه ، تحتوي معلومات الرأس أيضًا على تحميل البيانات اسم الملف الأولي ، مثل C: /AAA/AAA.JPG. يمكن معالجة بيانات FormData اسم ملف الاختبار الأول لبيانات مجال الملف للجزء.
(4). يتم اشتقاق هذه الخوارزميات من بيانات التنسيق المقدمة من مواصفات "النموذج" HTTP ، وبالتالي فإن أي خوارزمية معالجة متشابهة!