مقدمة:
غالبًا ما يتم استخدامه في المشاريع لتحميل الملفات والصور والوظائف الأخرى ، وفي الوقت نفسه ، من الضروري الحد من حجم الملفات التي تم تحميلها. تستخدم العديد من المكونات الإضافية التحقق من طلب الخلفية ، والتحقق من JS في الواجهة الأمامية صغيرة نسبيًا. تقدم هذه المقالة طريقة JS في الواجهة الأمامية للحكم بسهولة على حجم ملف التحميل.
هذا أفضل
<html> <head> <meta http-equiv = "content-type" content = "text/html ؛ charset = utf-8"/> <script type = "text/javaScript"> var isie = /msie/i.test(navigator.useragent) &&! وظيفة fileChange (الهدف ، معرف) {var filedize = 0 ؛ var fileTypes = [".jpg" ، ".png" ، ".rar" ، ".txt" ، ".zip" ، ".doc" ، ".ppt" ، ".xls" ، ". var filepath = target.value ؛ var fileMaxSize = 1024 * 2 ؛ // 2m if (filePath) {var isNext = false ؛ var fileend = filepath.substring (filePath.indexof (".")) ؛ if (fileTypes && fileTypes.length> 0) {for (var i = 0 ؛ i <fileTypes.length ؛ i ++) {if (fileTypes [i] == fileend) {isNext = true ؛ استراحة؛ }}} if (! isNext) {Alert ("هذا النوع من الملف غير مقبول!") ؛ target.value = "" ؛ العودة كاذبة }} آخر {return false ؛ } if (isie &&! target.files) {var filepath = target.value ؛ VAR FileSystem = new ActivexObject ("scripting.filesystemObject") ؛ if (! fileystem.filexists (filepath)) {Alert ("المرفق غير موجود ، يرجى إعادة الدخول!") ؛ العودة كاذبة } var file = fileystem.getFile (filepath) ؛ filesize = file.size ؛ } آخر {filedize = target.files [0] .Size ؛ } var size = filedize / 1024 ؛ if (size> fileMaxSize) {Alert ("لا يمكن أن يكون حجم المرفق أكبر من" + fileMaxSize / 1024 + "m!") ؛ target.value = "" ؛ العودة كاذبة } if (size <= 0) {Alert ("لا يمكن أن يكون حجم المرفق 0M!") ؛ target.value = "" ؛ العودة كاذبة }} </script> </head> <body> <input type = "file" name = "contractFilename" onChange = "FileChange (this) ؛"/> </body> </html>لا ينصح الرمز التالي
الكود بسيط للغاية. المفتاح هو كيفية استخدام JS للحصول على الملف والحصول على حجم الملف ، ثم الحكم واعتراضه. نظرًا لأسباب تاريخية مختلفة ، قد تختلف عوامل التحكم في IE ActiveX وطريقة الحصول على الملفات عن المتصفحات الأخرى ، لذلك لا يلزم سوى القليل من الحكم.
رمز JS:
<script type = "text/javaScript"> // حدد ما إذا كان متصفح IE: /msie/i.test(navigator.useragent) هو var isie isie = /msie/i.test(navigator.useragent) &&! وظيفة fileChange (الهدف) {var filedize = 0 ؛ if (isie &&! target.files) {// ie browser var filepath = target.value ؛ // احصل على المسار المطلق لتحميل ملف/** * ActiveXObject الكائن هو كائن JS متوافق مع IE و Opera * الاستخدام: * var newObj = new ActiveXObject (serverName.typename [، location]) * حيث يعد NewObj خيارًا مطلوبًا. إرجاع الاسم المتغير لكائن ActivexObject. * ServerName أمر لا بد منه. يوفر اسم التطبيق الذي هو الكائن. * typename أمر لا بد منه. نوع أو فئة الكائن المراد إنشاؤه. * الموقع اختياري. اسم خادم الشبكة الذي أنشأ الكائن. * //////////////////////////////////////////////222222227 من IIS ، المستخدمة لتشغيل الأقراص أو المجلدات أو الملفات النصية ،* هناك العديد من أساليب وسمات NewObj التي تم إرجاعها فيها* على سبيل المثال: var file = newObj.createTextFile ("c: /test.txt" ، true) تشير المعلمة الثانية إلى ما إذا كان الملف المستهدف قد تم الكتابة عليه عند وجوده* ملف ("كتابة محتوى") ؛ file.close () ؛ */ var filesystem = new ActivexObject ("scripting.filesystemObject") ؛ // طريقة getFile (path) تحصل على ملف من القرص والإرجاع. var file = fileystem.getFile (filePath) ؛ filesize = file.size ؛ // حجم الملف ، الوحدة: b} else {// browser filedize = target.files [0] .size ؛ } var size = filedize / 1024 /1024 ؛ if (size> 1) {Alert ("لا يمكن أن يكون المرفق أكبر من 1M") ؛ }} </script>رمز HTML
نسخة الكود كما يلي:
<type type = "file" onChange = "fileChange (this) ؛"/>
طريقة بسيطة وخفيفة الوزن وسريعة لاستخدام رمز JS للحكم على حجم الملف على ما يرام. أما بالنسبة لأولئك الذين يهتمون بكائنات ActivexObject ، يمكنك التعمق أكثر. يمكنه إرجاع كائنات مختلفة وفقًا للمعلمات التي تم إدخالها. عادةً ما تكون وظائف ووظائف الكائن مفيدة للغاية وقوية للغاية.
هذا كل شيء لهذا المقال. هل هو رمز بسيط للغاية وعملي؟ أتمنى أن تعجبك.