قم باستخراج وصف الكود للبيانات الثانوية التي تم تحميلها من خلال نموذج تحميل request.totalbytes كملف ثنائي.
انسخ رمز الكود كما يلي:
<نوع الإدخال = "ملف">
formsize=request.totalbytes
formdata=request.binaryread(formsize)
bncrlf=chrB(13) & chrB(10)
المقسم=leftB(formdata,clng(instrb(formdata,bncrlf))-1)
datastart=instrb(formdata,bncrlf & bncrlf)+4
dataend=instrb(datastart+1,formdata,divider)-datastart
mydata=midb(formdata,datastart,dataend)
formsize=request.totalbytes
احصل على الحد الأقصى لعدد البايتات التي تم تحميلها
-----------------------
formdata=request.binaryread(formsize)
الحصول على بيانات النموذج من الدفق الثنائي
-----------------------
bncrlf=chrB(13) & chrB(10)
قم بتعيين إرجاع السطر crlf ومتغير رمز تغذية السطر
----------------------------------
المقسم=leftB(formdata,clng(instrb(formdata,bncrlf))-1)
احصل على بيانات البايت على يسار crlf الأول
instrb(formdata,bncrlf)-1 يتحقق الجهاز من أن قيمة البت للبايت الثنائي crlf هي ناقص واحد، وهي البيانات الثنائية قبل معلومات العلامة. تجدر الإشارة إلى أن instrb يُرجع clng، لذا تتم إضافة clng هنا. متكرر
----------------------------------
datastart=instrb(formdata,bncrlf & bncrlf)+4
احصل على بيانات الصورة وأزل موضع البداية لمعلومات الرأس التي أضافها نموذج النموذج، وهو موضع بداية البايت لبيانات الملف الحقيقية بعد إرسال النوع=الملف في النموذج.
موضع اثنين من crlfs + 4 (أي طول اثنين من crlfg)
----------------------------------
dataend=instrb(datastart+1,formdata,divider)-datastart
يتم استخدام موضع البيانات + 1 الذي تم الحصول عليه مما سبق كقيمة حسابية مرجعية للتحقق من نهاية البيانات، ويتم إرجاع موضع معلومات رأس محدد النموذج الثنائي الأول في الموضع الذي يبدأ من datastart + 1، ثم الموضع النسبي. يتم طرح datastar.
----------------------------
mydata=midb(formdata,datastart,dataend)
يأخذ midb() تنسيق بت النهاية النجمية لبيانات الملف التي تم تحميلها والتي تم الحصول عليها من خلال العديد من التقلبات والمنعطفات.
حسنًا --------------> الآن قم باستخراج البيانات الثانوية التي تم تحميلها بشكل نظيف
ملحوظة:
(1). تتم معالجة جميع وظائف VB من السلسلة *B بواسطة البايتات.
(2) بعد إرسال .type=file وبيانات نموذج نوع النموذج المقابل، يتم إرفاق معلومات الرأس المقابلة بكل حقل ملف.
لذلك، يجب استخدام الخوارزمية المذكورة أعلاه للعثور بوضوح على بيانات الملف الحقيقية.
(3). وفي الوقت نفسه، تحتوي معلومات الرأس أيضًا على بيانات اسم الملف الأولي الذي تم تحميله، مثل c:/aaa/aaa.jpg، ويمكن معالجة بيانات بيانات النموذج بنفس الطريقة لاستخراج اسم الملف الأولي من بيانات مجال الملف.
(4) هذه الخوارزميات مستمدة من بيانات التنسيق التي توفرها مواصفات "النموذج" http، لذا فإن خوارزميات المعالجة لأي شركة متشابهة!