
من المحتمل أن يكون تحميل الملفات عملية أساسية في كل مشروع. اليوم نستخدم 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. مثال

توقف عن التدخين