آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

آموزش آپلود فایل Upload File در Node.js

دوره های مرتبط با این مقاله

آموزش کار با ماژول Formidable :

چهارچوب کاری Node.js دارای یک ماژول بسیار مناسب جهت کار با آپلود فایل ها به نام “Formidable” است.
ماژول Formidable را می توانید با استفاده از کد زیر در NPM دانلود و نصب کنید :

C:\Users\Your Name>npm install formidable
            

پس از این که ماژول Formidable را نصب و آماده کردید، می توانید با استفاده از تابع require() همانند کد زیر، آن را به پروژه خود اضافه کنید :

var formidable = require('formidable');

آموزش آپلود فایل در Node.js :

اکنون که ماژول لازم جهت آپلود فایل را به پروژه خود اضافه کرده ایم، می توان با Node.js یک صفحه وب تولید کرد که به ما امکان آپلود فایل های مورد نظر بر روی سرور را می دهد.

مرحله اول - ایجاد یک فرم آپلود فایل :

با استفاده از فایل Node.js زیر یک فرم HTML Form در صفحه ایجاد خواهد شد که دارای یک فیلد آپلود می باشد :

var http = require('http');

http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  res.write('<form action="fileupload" method="post" enctype="multipart/form-data">');
  res.write('<input type="file" name="filetoupload"><br>');
  res.write('<input type="submit">');
  res.write('</form>');
  return res.end();
}).listen(8080);

مرحله دوم - پردازش (Parse) فایل آپلود شده :

با اضافه کردن ماژول Formidable به صفحه، پروژه قابلیت پردازش (parse) فایل های آپلود شده به محض رسیدن به سرور را خواهد داشت.
زمانی که فایل آپلود شده و پردازش می شود، در یک پوشه موقت بر روی کامپیوتر ذخیره خواهد شد :

var http = require('http');
var formidable = require('formidable');

http.createServer(function (req, res) {
  if (req.url == '/fileupload') {
    var form = new formidable.IncomingForm();
    form.parse(req, function (err, fields, files) {
      res.write('File uploaded');
      res.end();
    });
  } else {
    res.writeHead(200, {'Content-Type': 'text/html'});
    res.write('<form action="fileupload" method="post" enctype="multipart/form-data">');
    res.write('<input type="file" name="filetoupload"><br>');
    res.write('<input type="submit">');
    res.write('</form>');
    return res.end();
  }
}).listen(8080);

مرحله سوم - ذخیره کردن فایل :

هنگامی که یک فایل با موفقیت بر روی سرور آپلود می شود، در یک پوشه موقت قرار خواهد گرفت.
مسیر این پوشه موقت را می توانید در شی “files”، که به عنوان سومین پارامتر به تابع بازگشتی متد parse() ارسال شده است، تعیین کنید.
برای انتقال فایل به پوشه مورد نظرتان، از ماژول فایل سیستم استفاده کرده و نام فایل را تغییر دهید :

var http = require('http');
var formidable = require('formidable');
var fs = require('fs');

http.createServer(function (req, res) {
  if (req.url == '/fileupload') {
    var form = new formidable.IncomingForm();
    form.parse(req, function (err, fields, files) {
      var oldpath = files.filetoupload.path;
      var newpath = 'C:/Users/Your Name/' + files.filetoupload.name;
      fs.rename(oldpath, newpath, function (err) {
        if (err) throw err;
        res.write('File uploaded and moved!');
        res.end();
      });
 });
  } else {
    res.writeHead(200, {'Content-Type': 'text/html'});
    res.write('<form action="fileupload" method="post" enctype="multipart/form-data">');
    res.write('<input type="file" name="filetoupload"><br>');
    res.write('<input type="submit">');
    res.write('</form>');
    return res.end();
  }
}).listen(8080);
  • 65
  •    0
  • تاریخ ارسال :   1398/04/05

دانشجویان گرامی اگر این مطلب برای شما مفید بود لطفا ما را در GooglePlus محبوب کنید
رمز عبور: tahlildadeh.com یا www.tahlildadeh.com
ارسال دیدگاه نظرات کاربران
شماره موبایل دیدگاه
عنوان پست الکترونیک

ارسال

آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

تمامی حقوق این سایت متعلق به آموزشگاه تحلیل داده می باشد .