Wednesday, 13 December 2017

خيارات filereader القراءة كما هو و ثنائي


كجزء من سلسلة من المقالات أنا مناقشة بعض التحديات التي واجهتها عند محاولة بناء HTML5 وجافا سكريبت مجانا محرر الرموز على الانترنت. أردت أن يكون المستخدمون قادرين على فتح وتحرير ملفات الرموز الموجودة في محرر الرموز. كما ملفات الرمز يمكن أن تحتوي على إطارات متعددة، كنت بحاجة للوصول إلى هذه الأطر الفردية بحيث يمكن عرضها وتكون متاحة لتحرير للمستخدم. يتم تخزين كل من حجم وحجم وموقع الإطارات الموجودة داخل رمز في رأس الرمز. رأس الرمز عبارة عن بايتات مجموعة تقع في بداية ملف الرمز لذلك كنت بحاجة لقراءة البيانات الثنائية الواردة في الملف. يمكننا الآن قراءة الملفات بسهولة في المتصفح دون الحاجة إلى إرسال أية بيانات إلى الخادم. في هذه الدفعة تظهر كيف يمكنك قراءة البيانات الثنائية من ملف محلي في المتصفح باستخدام HTML5 ملف أبي. لتبدأ كانوا ذاهبون لإضافة عنصر الإدخال وتعيين السمة تايب إلى ملف، ثم في كتلة البرنامج النصي نحن نذهب للتعامل مع ملف المدخلات الحدث أونشانج. لتر الجسم gt160160160160160160160160160160160160160160160160160160160160160160160160160160160160 160160160160 لتر نوع المدخلات معرف quotbrowseOpenquot quotfilequot GT 160160160160 لتر نوع النصي quottextjavascriptquot GT +160160160160160160160160 فار fileInput document. getElementById (quotbrowseOpenquot) 160160160160160160160160 وظيفة fileInput. onchange () 160160160160160160160160160160160160 كود للتعامل مع عند_التغيير الحدث يذهب هنا 160160160160 160160160160 160160160160 لتر النصي GT جسم لتر GT الآن نحن بحاجة إلى إضافة التعليمات البرمجية للتعامل مع الحدث أونشانج. هنا سنقوم بإنشاء كائن فليريدر. سوف نستخدم الأسلوب رياداسبيناريسترينغ الكائن فليريدر التي سوف تعطينا البيانات الثنائية الخام. يمكننا تمرير كائن ملف إلى ريداسبيناريسترينغ إذا أردنا قراءة الملف بأكمله أو أننا يمكن تمرير كائن بلوب إذا كنا نريد فقط لقراءة جزء معين من ملف. في هذا المثال سنقوم بتمرير كائن ملف لقراءة الملف بأكمله. نحن بحاجة أيضا للتعامل مع الحدث أونلوادند من فليريدر كما البيانات التي نقرأها مع ريداسبيناريسترينغ متاح فقط للاستخدام مرة واحدة وقد تم قراءة الملف بأكمله أو نقطة من قبل فليريدر. لدينا التعليمات البرمجية في معالج الحدث أونشانج يبدو الآن مثل هذا. 160160160160160160160160 فار فر جديد فليريدر () 160160160160160160160160 وظيفة fr. onloadend () 160160160160160160160160160160160160 رمز للتعامل مع الحدث أونلوادند 160160160160 160160160160 160160160160160160160160 fr. readAsBinaryString (هذا. files 0) في معالج الحدث أونلوادند يمكننا الوصول إلى البيانات التي تم قراءتها للتو عن طريق فيليريدرس نتيجة. يمكننا بعد ذلك حلقة من خلال سمة النتيجة واستدعاء الأسلوب تشاركوديات لإرجاع قيمة عدد صحيح من كل بايت. في هذا المثال إيم لتحويل البايت إلى تمثيل سلسلة سداسي عشري باستخدام توسترينغ (16)، بناء سلسلة طويلة واحدة ثم عرض السلسلة إلى المستخدم. هيريس مثال العمل الكامل. لتر DOCTYPE HTML GT لتر أتش تي أم أل جي تي لتر رئيس GT عنوان 160160160160 لتر gtReading البيانات الثنائية مع API الملفات وJavaScriptlt عنوان GT رئيس لتر GT لتر الجسم gt160160160160160160160160160160160160160160160160160160160160160160160160160160160160 160160160160 لتر نوع المدخلات معرف quotbrowseOpenquot quotfilequot GT 160160160160 لتر نوع النصي quottextjavascriptquot GT +160160160160160160160160 فار fileInput document. getElementById (quotbrowseOpenquot) 160160160160160160160160 وظيفة fileInput. onchange () 160160160160160160160160160160160160 فار الاب FileReader جديد () 160160160160160160160160160160160160 ظيفة fr. onloadend () 160160160160160160160160160160160160160160160160 فار نتيجة هذا. result 160160160160160160160160160160160160160160160160 فار عرافة quotquot 160160160160160160160160160160160160160160160160 ل(فار ط 0 ط LT هذه. result. length ط) 160160160160160160160160160160160160160160160160160160160160 فار بايتستر result. charCodeAt (i).toString (16) 160160160160160160160160160160160 160160160160160160160160160 إذا (byteStr. length لتر 2) 160160160160160160160160160160160160160160160160160160160160160160160160 byteStr quot0quot byteStr 160160160160160160160160160160160160160160160160160160160160 160160160160160160160160160160160160160160160160160160160160 عرافة مثل مثل byteStr 160160160160160160160160160160160160160160160160 160160160160160160160160160160160160160160160160 تنبيه (عرافة) 160160160160160160160160160160160160 160160160160160160160160160160160160 fr. readAsBinaryString (هذا. files 0) 160160160160160160160160 160160160160 لتر النصي GT لتر الجسم GT لتر أتش تي أم أل gtWorking مع الملفات في جافاسكريبت، الجزء 2: فيليريدر نشر في 15 مايو 2012 من قبل نيكولاس C. زاكاس في بلدي وظيفة السابقة. عرضت استخدام الملفات في جافا سكريبت، مع التركيز بشكل خاص على كيفية الوصول إلى كائنات ملف. تحتوي هذه الكائنات على بيانات تعريف الملف التي تم الحصول عليها فقط عندما يختار المستخدم إما تحميل ملف أو سحب وإسقاط ملف على صفحة ويب. وبمجرد الانتهاء من الملفات، فإن الخطوة التالية هي قراءة البيانات منها. نوع فليريدر نوع فليريدر له مهمة واحدة: لقراءة البيانات من ملف وتخزينه في متغير جافا سكريبت. تم تصميم أبي عمدا لتكون مشابهة ل شملتبركست حيث أن كلا البيانات يتم تحميلها من مورد خارجي (خارج المتصفح). تتم القراءة بشكل غير متزامن حتى لا تمنع المتصفح. هناك العديد من الصيغ التي يمكن أن ينشئها فيليريدر لتمثيل بيانات الملف، ويجب أن يطلب التنسيق عند طلب قراءة الملف. تتم القراءة من خلال استدعاء إحدى هذه الطرق: رياداستكست () 8211 ترجع محتويات الملف كنص عادي رياسبيناريسترينغ () 8211 ترجع محتويات الملف كسلسلة من البيانات الثنائية المشفرة (تم إيقاف استخدام 8211 رياداسارايبوفر () بدلا من ذلك) رياداساريبوفر () 8211 ريتورنس محتويات الملف ك أرايبوفر (جيد للبيانات الثنائية مثل الصور) رياداسداتورل () 8211 ترجع محتويات الملف كعنوان ورل للبيانات تبدأ كل من هذه الأساليب ملف قراءة مشابهة إلى أسلوب شر كائن 8217s إرسال () بدء طلب هتب. على هذا النحو، يجب الاستماع لحملة الحمل قبل البدء في القراءة. يتم تمثيل نتيجة القراءة دائما من قبل event. target. result. على سبيل المثال: هذا المثال يقرأ ببساطة محتويات ملف وينتجه في نص عادي إلى وحدة التحكم. يتم استدعاء معالج التحميل عند قراءة الملف بنجاح في حين يسمى معالج أونيرور إذا كان الملف 8217t قراءة لسبب ما. يتوفر مثيل فليريدر داخل معالج الحدث عبر event. target وأوصى 8217s باستخدام ذلك بدلا من الرجوع لمتغير القارئ مباشرة. تحتوي الخاصية نتيجة محتويات الملف على النجاح والخطأ يحتوي على معلومات الخطأ حول عملية فاشلة. قراءة أوريس البيانات يمكنك استخدام نفس الإعداد الأساسي للقراءة إلى أوري البيانات. تعد عناوين ورل للبيانات (التي تسمى أحيانا عناوين ورل للبيانات) خيارا مثيرا للاهتمام إذا أردت، على سبيل المثال، عرض صورة تمت قراءتها للتو من القرص. يمكنك القيام بذلك باستخدام التعليمات البرمجية التالية: هذا الرمز ببساطة إدراج صورة التي تم قراءتها من القرص إلى صفحة. بما أن أوري البيانات يحتوي على كافة بيانات الصورة، فإنه يمكن تمريرها مباشرة إلى سرك سرك للصورة وعرضها على الصفحة. يمكنك، بالتناوب، تحميل الصورة ورسمها على لكتانفاسغت كذلك: هذا الرمز بتحميل بيانات الصورة إلى كائن صورة جديد ثم يستخدم ذلك لرسم الصورة على قماش (تحديد كل من العرض والارتفاع 100). وعادة ما تستخدم عناوين ورل للبيانات لهذا الغرض، ولكن يمكن استخدامها على أي نوع من الملفات. حالة الاستخدام الأكثر شيوعا لقراءة ملف في أوري البيانات هي لعرض محتويات الملف على صفحة ويب على الفور. قراءة أرايبوفرس تم إدخال نوع أرايبوفر 1 كجزء من ويبغل. يمثل أرايبوفر عدد محدود من وحدات البايت التي يمكن استخدامها لتخزين أرقام من أي حجم. طريقة قراءة البيانات من أرايبوفر باستخدام طريقة عرض معينة مثل Int8Array. الذي يعالج بايت الأساسية كمجموعة من 8 بت توقيع الأعداد الصحيحة أو Float32Array. الذي يعالج وحدات البايت الأساسية كمجموعة من أرقام النقطة العائمة 32 بت. وتسمى هذه المصفوفات المطبوعة 2. التي تجبرك على العمل مع نوع رقمي محدد بدلا من احتواء أي نوع من البيانات (كما هو الحال مع المصفوفات التقليدية). يمكنك استخدام أرايبوفر في المقام الأول عند التعامل مع الملفات الثنائية، لديك المزيد من السيطرة غرامة الحبيبات على البيانات. It8217s خارج نطاق هذا المنصب لشرح جميع إنز وعموميات من أرايبوفر. ندرك فقط أنه يمكنك قراءة ملف في أرايبوفر بسهولة إذا كنت في حاجة إليها. يمكنك تمرير أرايبوفر مباشرة إلى طريقة إرسال كائن شر (8217s) () لإرسال البيانات الخام إلى الملقم (you8217ll لديك لقراءة هذه البيانات من الطلب على الملقم لإعادة بناء الملف)، طالما متصفحك يدعم بالكامل زملتبركست ليفيل 2 3 (أحدث المتصفحات، بما في ذلك إنترنيت إكسبلورر 10 و أوبيرا 12). قراءة البيانات من ملف باستخدام فليريدر هو بسيط جدا. إذا كنت تعرف كيفية استخدام شملتبركست. هناك 8217s أي سبب يمكنك can8217t أيضا قراءة البيانات من الملفات. في الجزء التالي من هذه السلسلة، you8217ll معرفة المزيد حول استخدام أحداث فليريدر وفهم المزيد عن الأخطاء المحتملة. المراجع تنويه: أي وجهات النظر والآراء الواردة في هذه المقالة هي تلك من نيكولاس C. زاكاس ولا تعكس، بأي شكل من الأشكال، تلك من صاحب العمل، زملائي، وروكس النشر. أوريلي النشر. أو أي شخص آخر. أنا أتكلم فقط عن نفسي، وليس بالنسبة لهم. المشاركات الأخيرة معلومات إضافية FileReader. readAsBinaryString () غير قياسي هذه الميزة غير قياسية وليست على مسار قياسي. لا تستخدمه على مواقع الإنتاج التي تواجه الويب: فإنه لن يعمل لكل مستخدم. وقد تكون هناك أيضا حالات عدم توافق كبيرة بين عمليات التنفيذ وقد يتغير السلوك في المستقبل. يتم استخدام الأسلوب ريداسبيناريسترينغ لبدء قراءة محتويات المحدد بلوب أو ملف. عند الانتهاء من عملية القراءة، يصبح ريديستات دون. ويتم تشغيل لوادند. في ذلك الوقت، تحتوي السمة ريسولت على البيانات الثنائية الخام من الملف. لاحظ أن هذه الطريقة الآن مهملة وفقا لمشروع العمل 12 يوليو 2012 من W3C. معلمات بلوب ذي بلوب أو فيل الذي يقرأ. المواصفات تمت إزالة هذه الطريقة من معيار فيليابي. يجب استخدام FileReader. readAsArrayBuffer () بدلا من ذلك. 1 قبل جيكو 2.0 بيتا 7 (فايرفوكس 4.0 بيتا 7)، كانت جميع المعلمات بلوب أدناه معلمات الملف هذا منذ ذلك الحين تم تحديثها لتتناسب مع مواصفات بشكل صحيح. قبل جيكو 13.0 (فايرفوكس 13.0 ثوندربيرد 13.0 سامونكي 2.10) الخاصية FileReader. error بإرجاع كائن فيليورور. تمت إزالة هذه الواجهة و FileReader. error الآن إرجاع كائن دوميرور كما هو محدد في أحدث مشروع فيليابي. هل كانت هذه المقالة مفيدة دوكومنت تاغس أند كونتريبوتورس ثانكس يرجى التحقق من بريدك الوارد لتأكيد اشتراكك. إذا كنت قد أكدت مسبقا اشتراكا في نشرة موزيلا ذات الصلة، فقد يتعين عليك القيام بذلك. يرجى التحقق من البريد الوارد أو فلتر الرسائل غير المرغوب فيها للحصول على رسالة إلكترونية منا. إخفاء نسخة الاشتراك في النشرة الإخبارية 2005-2017 شبكة مطوري موزيلا والمساهمين الأفراد. المحتوى متاح تحت هذه التراخيص. FileReader وقد تم الانتهاء من طلب القراءة بأكملها. FileReader. result للقراءة فقط محتويات الملفات. هذه الخاصية صالحة فقط بعد اكتمال عملية القراءة، ويعتمد تنسيق البيانات على أي من الطرق تم استخدامه لبدء عملية القراءة. معالجات الأحداث FileReader. onabort معالج لحالة الإجهاض. يتم تشغيل هذا الحدث في كل مرة يتم فيها إحباط عملية القراءة. FileReader. onerror معالج لحدث الخطأ. يتم تشغيل هذا الحدث في كل مرة تواجه عملية القراءة خطأ. FileReader. onload معالج لحدث التحميل. يتم تشغيل هذا الحدث في كل مرة يتم فيها إتمام عملية القراءة بنجاح. FileReader. onloadstart معالج لحدث لوادستارت. يتم تشغيل هذا الحدث في كل مرة تبدأ القراءة. FileReader. onloadend معالج لحدث لوادند. يتم تشغيل هذا الحدث في كل مرة يتم فيها الانتهاء من عملية القراءة (إما في النجاح أو الفشل). FileReader. onprogress معالج لحدث التقدم. يتم تشغيل هذا الحدث أثناء قراءة محتوى بلوب. كما يرث فيليريدر من إيفنتارجيت. يمكن أيضا أن تستمع كل تلك الأحداث عن طريق استخدام الأسلوب أديفنتليستينر. FileReader. abort () يعطل عملية القراءة. عند العودة، سيتم ريديستات دون. FileReader. readAsArrayBuffer () يبدأ قراءة محتويات النقطة المحددة. بمجرد الانتهاء، تحتوي السمة ريسولت على أرايبوفر تمثل بيانات الملفات. FileReader. readAsBinaryString () يبدأ قراءة محتويات النقطة المحددة. بمجرد الانتهاء، تحتوي السمة ريسولت على البيانات الثنائية الخام من الملف كسلسلة. FileReader. readAsDataURL () يبدأ قراءة محتويات النقطة المحددة. بمجرد الانتهاء، تحتوي السمة ريسولت على بيانات: عنوان ورل يمثل بيانات الملفات. FileReader. readAsText () يبدأ قراءة محتويات النقطة المحددة. بمجرد الانتهاء، تحتوي السمة ريسولت على محتويات الملف كسلسلة نصية. مواصفات 1 قبل جيكو 2.0 بيتا 7 (فايرفوكس 4.0 بيتا 7)، كانت جميع المعلمات بلوب أدناه المعلمات ملف هذا منذ ذلك الحين تم تحديثها لتتناسب مع مواصفات بشكل صحيح. قبل جيكو 13.0 (فايرفوكس 13.0 ثوندربيرد 13.0 سامونكي 2.10) الخاصية FileReader. error بإرجاع كائن فيليورور. تمت إزالة هذه الواجهة و FileReader. error الآن إرجاع كائن دوميرور كما هو محدد في أحدث مشروع فيليابي. هل كانت هذه المقالة مفيدة دوكومنت تاغس أند كونتريبوتورس ثانكس يرجى التحقق من بريدك الوارد لتأكيد اشتراكك. إذا كنت قد أكدت مسبقا اشتراكا في نشرة موزيلا ذات الصلة، فقد يتعين عليك القيام بذلك. يرجى التحقق من البريد الوارد أو فلتر الرسائل غير المرغوب فيها للحصول على رسالة إلكترونية منا. إخفاء نسخة الاشتراك في النشرة الإخبارية 2005-2017 شبكة مطوري موزيلا والمساهمين الأفراد. يتوفر المحتوى بموجب هذه التراخيص.

No comments:

Post a Comment