يوجد كائن ملف في JavaScript؛ يمثل كائن الملف ملفًا ويستخدم لقراءة معلومات الملف وكتابتها. يرث هذا الكائن كائن Blob ويوسع الوظائف المتعلقة بنظام الملفات يمكن استخدام كائن Blob؛ ويمكنه استخدام المُنشئ "new File(fileParts, fileName, [options])" للحصول على كائن الملف.
بيئة تشغيل هذا البرنامج التعليمي: نظام Windows 10، إصدار JavaScript 1.8.5، كمبيوتر Dell G3.
كائن الملف
يمثل كائن الملف ملفًا ويستخدم لقراءة معلومات الملف وكتابتها. إنه يرث كائن Blob، أو أنه كائن Blob خاص، والذي يمكن استخدامه في جميع المواقف التي يمكن فيها استخدام كائن Blob.
حالة الاستخدام الأكثر شيوعًا هي التحكم في تحميل الملف () للنموذج، بعد أن يحدد المستخدم ملفًا، سيقوم المتصفح بإنشاء مصفوفة تحتوي على كل ملف حدده المستخدم.
// كود HTML كما يلي // <input id="fileItem" type="file">var file = document.getElementById('fileItem').files[0];مثيل الملف // صحيحفي الكود أعلاه، file هو الملف الأول الذي حدده المستخدم، وهو مثيل لـ File.
منشئ
يوفر المستعرض أصلاً مُنشئ File() لإنشاء كائنات مثيل الملف.
ملف جديد (مصفوفة، اسم [، خيارات])
يقبل مُنشئ File() ثلاث معلمات.
المصفوفة: مصفوفة يمكن أن يكون أعضاؤها كائنات ثنائية أو سلاسل تمثل محتويات الملف.
الاسم: سلسلة تمثل اسم الملف أو مسار الملف.
الخيارات: كائن التكوين، قم بتعيين سمات المثيل. هذه المعلمة اختيارية.
تقوم المعلمة الثالثة بتكوين الكائن ويمكنها تعيين خاصيتين.
النوع: سلسلة، تشير إلى نوع MIME لكائن المثيل، والقيمة الافتراضية هي سلسلة فارغة.
lastModified: الطابع الزمني، يشير إلى وقت التعديل الأخير، الافتراضي هو Date.now().
أدناه مثال.
var file = new File(['foo'], 'foo.txt', { type: 'text/plain', });خصائص المثيل وطرق المثيل
تحتوي كائنات الملف على خصائص المثيل التالية.
File.lastModified: وقت آخر تعديل
File.name: اسم الملف أو مسار الملف
File.size: حجم الملف (وحدة البايت)
File.type: نوع MIME للملف
var myFile = new File([], 'file.bin', { lastModified: new Date(2018, 1, 1),});myFile.lastModified // 1517414400000myFile.name // "file.bin"myFile.size / / 0myFile.type // ""في الكود أعلاه، نظرًا لأن محتوى myFile فارغ ولم يتم تعيين نوع MIME، فإن سمة الحجم تساوي 0 وسمة النوع تساوي السلسلة الفارغة.
لا يحتوي كائن الملف على أسلوب المثيل الخاص به نظرًا لأنه يرث كائن Blob، يمكنك استخدام شريحة أسلوب مثيل Blob ().
قم بتوسيع معرفتك:
هناك طريقتان للحصول عليه.
ملف جديد (fileParts، fileName، [options])
fileParts - صفيف من قيم نوع Blob/BufferSource/String.
اسم الملف - سلسلة اسم الملف.
الخيارات - كائن اختياري:
lastModified - الطابع الزمني لآخر تعديل (تاريخ صحيح).والأكثر شيوعًا هو أننا نحصل على الملفات من <input type="file"> أو من خلال السحب والإفلات أو من واجهات المتصفح الأخرى. في هذه الحالة، سيحصل الملف على هذه المعلومات من نظام التشغيل (OS).
نظرًا لأن الملف يرث من كائن Blob، فإن كائن الملف له نفس الخصائص، بالإضافة إلى:
الاسم - اسم الملف، LastModified - الطابع الزمني لآخر تعديل.هذه هي الطريقة التي نحصل بها على كائن الملف من <input type = "file">:
<input type="file" onchange="showFile(this)"><script>function showFile(input) { Let file = input.files[0] تنبيه(`اسم الملف: ${file.name}`); // على سبيل المثال my.png تنبيه(`آخر تعديل: ${file.lastModified}`); // على سبيل المثال 1552830408824</script>تفاصيل: يرجى الملاحظة:
يمكن للإدخال تحديد ملفات متعددة، لذا فإن input.files عبارة عن كائن يشبه المصفوفة. لدينا هنا ملف واحد فقط، لذلك نأخذ input.files[0] فقط.