من المحتمل أن يكون تحميل الملفات عملية أساسية في كل مشروع. اليوم نستخدم Nodejs لتنفيذ وحدة تحميل الملفات.
1. Module
npm i multiparty
npm i Express
2.
نضع الكود في ملف ( upload.js
) الكود الموجود في الملف كما يلي:
// وحدة تحميل الملف const multiparty = require('multiparty') // وحدة تشغيل الملفات const fs = require('fs') // استيراد الإطار السريع const Express = require('express') // التوجيه const router = Express.Router() // واجهة تحميل الملف router.post('/upload/file', (req, res) => { /* إنشاء كائن متعدد الأطراف وتكوين مسار هدف التحميل */ Let form = new multiparty.Form(); // تعيين الترميز form.encoding = 'utf-8'; // قم بتعيين مسار تخزين الملف، باستخدام الملف الذي تم تحريره حاليًا كمسار نسبيform.uploadDir = './public'; // التحليل، محلل النموذج // الحقول: بيانات النموذج العادي // الملفات: معلومات الملف الذي تم تحميله form.parse(req, function (err, fields, files) { يحاول { // الملف هو files.file[0] دع upfile = files.file[0] // قم بتسمية الملف وتعديل المسار في ملف upfile، وإلا فسيتم إنشاء اسم الملف بشكل عشوائي Let newpath =form.uploadDir + '/' + upfile.originalFilename //اسم الملف// إعادة تسمية fs.renameSync(upfile.path ، مسار جديد)؛ // إرجاع المعلومات، ((upfile.size)/1048576).toFixed(2) تحويل الملف من الوحدات B إلى M وتقريبه إلى منزلتين عشريتين res.send({. الكود: 200، الرسالة: "نجاح الملف"، اسم_الملف:upfile.originalFilename، file_size:((upfile.size)/1048576).toFixed(2)+'M' }) } يمسك { // رسالة console.log(err) في ظل ظروف غير طبيعية إعادة إرسال({ الكود:401, رسالة: "خطأ في الملف"، more_msg:خطأ }) } }) }) // تصدير هذه الوحدة لاستدعاء ملف الوظيفة الرئيسية Module.exports =
ملف جهاز التوجيه 3.main.js
// تقديم الوحدة السريعة const Express = require('express') // إنشاء مثيل سريع تطبيق ثابت = صريح () // تعيين المجلد app.use('/static',express.static('public')) // واجهة تحميل الملف const upload=require('./router/upload') استخدام التطبيق (تحميل) // خدمة الاستماع app.listen('3333', '0.0.0.0', (res) => { console.log("الخادم يعمل http://127.0.0.1:3333") })
4. مثال
توقف عن التدخين