ملاحظة: قم بتحميله باستخدام Ajax ، لا يمكن أن يكون الملف كبيرًا جدًا ، فمن الأفضل أن يكون أقل من ثلاثة أو أربعمائة تريليون ، لأن طلبات Ajax المستمرة المفرطة ستنهار الخلفية ، وستكون البيانات الموجودة في InputStream فارغة ، خاصة أثناء Google اختبار المتصفح.
1.
<div class = container> <div class = panel default> <div class = pans-heading> ملف القراءة: < / div> <div class = panel-body> <input type = file id = file /> <blockquote النمط = Word-Break: Break-All ؛> </blockquote> </viv> </viv> </viv>
JS:
/** ملفات التجزئة عبارة عن نقاط ، وتم تحميلها على أجزاء الخادم* لتحميل ملفات EXE باستخدام AJAX ، 0] ؛ ؛ {console.info ('loaded:' + culoaded + 'current:' + loaded) ؛ "إجمالي:" // حدد موضع البداية وموقف الموضع //console.info_start: ' + start) ؛ (blob) ؛} // ابدأ في قراءة readblob (0) ؛ خادم vd = new FormData () ؛ ) ؛ VAR DATA = eval (' + XHR.RESPONSETEXT +') ؛
رمز الخلفية:
/// <summary> ///pload2 تعليمات ملخصية /// </summary> expload 2: ihttphandler = السياق ؛ ؛ .Toint32 (req.form [loads]) ؛ _file.inputstream ؛ ) ؛؛ WriteLine (TotalCount + DataOne.length) .tring ()) ؛ إرجاع صحيح ؛}}
2. اقرأ الملف في أقسام إلى blob ، وقراءةه على الخادم مع Ajax.
<div class = container> <div class = panel default> <div class = pank-heading> ملف القراءة: < / div> <div class = panel-body> <input type = file id = file /> <br /> <نوع الإدخال = قيمة الإيقاف = stop () ؛ /progress> <blockquote id = status styp = word-break: break-all ؛> </blockquote> </viv> </viv>
JS:
** ملفات التجزئة هي النقط ، وقم بتحميلها على الخادم بواسطة Ajax* استخدم Ajax لتقديم حجم ملفات البيانات. توصيل طويل أو websocket filebox = document.getElementByid (ملف) ؛ NULL ؛ ) ؛ E.Loaded ؛ -الدخل: " + تحميل) ؛ ). value = ٪ ؛}) ؛ post '،' ../ashx/upload2.ashx '، true) ؛ (XHR.Status == 500) {//console.info ('خطأ في الطلب ،' + xhr.responsetext) ؛ }} // حدد موضع البداية ، اقرأ وظيفة الملف readBlob (start) {// حدد موضع البداية والموقف النهائي ، اقرأ file var blob = file.slice (ابدأ ، خطوة) ؛ )) متابعة ، culoaded: ' + culoaded) ؛
رمز الخلفية مع أعلاه
3. اقرأ الملفات الموجودة في الأقسام إلى صفيف ثنائي ، وقم بتحميلها على الخادم مع Ajax
استخدام المصفوفات الثنائية منخفض بشكل خاص ، والملف النهائي ينحرف قليلاً مع الحجم الأصلي
محتوى HTML هو نفسه على النحو الوارد أعلاه
JS:
/** ملفات القراءة المقطوعة هي صفيف ثنائي ، ويتم التحميل إلى الخادم من قبل AJAX لاستخدام طريقة الإرسال باستخدام المصفوفات الثنائية. = document.getElementByid (ملف) ؛ قراءة العدد الإجمالي var = null ؛ ) إذا تم تعيين القيمة عدة مرات ، فسيتم فقدان البيانات Date () / تحميل بيانات الجزء إلى خادم تحميل (النتيجة ، cuload ed ، function () {console.info ('loaded:' + culoaded + '---- current:' + loaded) ؛ // إذا لم يتم الانتهاء منه ، تابع culoaded + = محملة ؛ } ابدأ القراءة. خادم vd = جديد لـ MDATA () ؛ () ؛ {// console.info (xhr.responsetext) ؛ / ابدأ في إرسال XHR.Send (FD) ؛} // حدد موضع البداية. ، culoaded: " + culoaded) ؛
رمز الخلفية:
/// <summary> ///pload3 تعليمات ملخصية /// </summary> expload 3: ihttphandler {logHelper.loghelper_log = new loghelper.loghelper () ؛ = السياق ؛ (س)). '،'). هو نوع int ، ستكون المشكلة الأكبر 1.9999999999068674G محملة = convert.toint32 (req.form [loads]) ؛ ؛ fs.write (DataOne ، 0 ، DataOne.length) ؛} أخيرًا {fs.close () ؛} _log.writeline) ؛ Writestr (String str) {httpcontext.response.write (str) ؛} bool public isre {get {return false ؛}}}لخص
ما سبق هو مجال ملف HTML5+FileRereader وقراءة الملفات على الخادم. شكرا جزيلا لدعمكم لموقع VEVB Wulin!