English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

NodeJS دروس أساسية

NodeJS Express.js

NodeJS تبريد & URL;

NodeJS MySql

NodeJS MongoDB

NodeJS ملف (FS)

NodeJS أخرى

تحميل ملف في Node.js

تحميل ملف Node.js إلى الخادم

تحميل ملف Node.js– في هذا الدرس Node.js، سنتعلم كيفية تحميل ملف من عميل الويب إلى خادم Node.js. بمعنى آخر، يمكن للعميل تحميل ملف إلى خادم Node.js.

لتحميل ملف إلى خادم Node.js، اتبع الإرشادات التالية خطوة بخطوة:

  1. المكونات الأساسية

    في هذا المثال، سنستخدم وحدات http، fs وقوية.http: لخدمة النشاطات على الخادم.النواة fs: حفظ الملف المرسل في مكان معين على الخادم.قوية: تحليل بيانات نموذج html. إذا لم يتم تثبيت هذه الوحدات بعد، يمكنك استخدام NPM لتحميلها على الفور. قم بتشغيل الأوامر التالية في الترميز النهائي لتثبيت هذه الوحدات:

    npm install http npm install fs npm install formidable
  2. تحضير نموذج HTML

    استخدام النموذج التالي لتحضير صفحة HTML (upload_file.html) التي تحتوي على علامات الإدخال المخصصة لتحميل الملف وإرسال النموذج.

    <form action="fileupload" method="post" enctype="multipart/form-data">
        <input type="file" name="filetoupload">
        <input type="submit" value="Upload">
    </form>
  3. إنشاء خادم HTTP

    إنشاء خادم HTTP يستمع إلى порт 8086 (يمكنك تغيير المنفذ) ويعرض على URLين كما يلي:

    http.createServer(function (req, res) { 
        if (req.url == '/uploadform') { 
            // إذا كان عنوان URL يحتوي على " / uploadform "
            // ملء الرد بالملف HTML الذي يحتوي على النموذج المرسل
        else if (req.url == '/fileupload') { 
            // إذا كان عنوان URL يتضمن " / fileupload "
            // استخدام وحدات قوية
            // قراءة بيانات النموذج (بما في ذلك الملفات المرسلة)
            // و حفظ الملف في مكان.
        }  
     }).listen(8086);
  4. حفظ الملف

    استخدام وحدات قوية، تحليل عناصر النموذج وتخزين الملف في مكان معين. بعد تحميل الملف، قد يظهر لك رسالة تخبرك بأن تحميل الملف تم بنجاح. في البداية، يتم حفظ الملف في مكان مؤقت. يمكننا استخدام طريقة fs.rename() لتحريك الملف إلى المكان المطلوب باستخدام المسار الجديد.

    var form = new formidable.IncomingForm(); 
    form.parse(req, function (err, fields, files) { 
        // oldpath: مجلد التخزين المؤقت الذي تم فيه حفظ الملف
        var oldpath = files.filetoupload.path; 
        var newpath = upload_path + files.filetoupload.name; 
        // نسخ الملف إلى موقع جديد
        fs.rename(oldpath, newpath, function (err) { 
            if (err) throw err; 
            // قد تستخدم صفحة HTML أخرى للإجابة
            res.write('تم تحميل الملف ونقله!'); 
            res.end(); 
        }); 
     });

Node.js上传文件示例

以下是Node.js上传文件的完整工作示例

此示例有两个文件,如下所示:

upload_file.html

<!DOCTYPE html>
<html>
<head>
<title>Upload File</title>
<style>
    body{text-align:center;} 
    form{display:block;border:1px solid black;padding:20px;} 
</style>
</head>
<body>
    <h1>Upload files to Node.js Server</h1>
 
    <form action="fileupload" method="post" enctype="multipart/form-data">
        <input type="file" name="filetoupload">
        <input type="submit" value="Upload">
    </form>
</body>
</html
var http = require('http'); 
var fs = require('fs'); 
var formidable = require('formidable'); 
 
// 包含上传表单的html文件
var upload_html = fs.readFileSync("upload_file.html"); 
 
// 将其替换为保存上传文件的位置
var upload_path = "/home/arjun/workspace/nodejs/upload_file/"; 
 
http.createServer(function (req, res) { 
    if (req.url == '/uploadform') { 
      res.writeHead(200); 
      res.write(upload_html); 
      return res.end(); 
    else if (req.url == '/fileupload') { 
        var form = new formidable.IncomingForm(); 
        form.parse(req, function (err, fields, files) { 
            // oldpath: مجلد التخزين المؤقت الذي تم فيه حفظ الملف
            var oldpath = files.filetoupload.path; 
            var newpath = upload_path + files.filetoupload.name; 
            // نسخ الملف إلى موقع جديد
            fs.rename(oldpath, newpath, function (err) { 
                if (err) throw err; 
                // قد تستخدم صفحة HTML أخرى للإجابة
                res.write('تم تحميل الملف ونقله!'); 
                res.end(); 
            }); 
        }); 
    }  
 }).listen(8086);

تشغيل ملف سكريبت Node.js في نافذة الترميز التي تحتوي على Node.js

arjun@w3codebox:~/workspace/nodejs/upload_file$ node nodejs-upload-file.js

يتم حفظ الملفات المرسلة بجانب ملف node.js nodejs-upload-file.js. يمكنك تغيير هذا الموقع في ملف سكريبت Node.js.

افتح متصفح الويب (عميل HTTP)، ثم انقر على URL http://localhost:8086/uploadform

انقر على استعراض.

اختر ملفًا ثم انقر على "فتح".

حاليًا، تم تحميل الملف في النموذج. انقر على زر Upload في Node.js لتحليل عناصر النموذج وتخزين الملف.

تحقق من ملف سكريبت Node.js بجانب خادم Node.js.

arjun@w3codebox:~/workspace/nodejs/upload_file$ ls
blur1.jpg    nodejs-upload-file.js    upload_file.html

الخلاصة:

في هذا درس Node.js -  تحميل الملفات إلى الخادم باستخدام Node.js، لقد تعلمنا كيفية استخدام الملفات القوية والمحولات على الإنترنت لتحميل الملفات إلى خادم Node.js.