اذهب إلى المحتوى
  • 0

كيف أقوم بنقل الملفات من مكان لآخر ضمن node.js؟

Tamim Fahed

السؤال

لقد قرأت التوثيق الرسمي في node.js وطبقّت جميع الأوامر على الملفات من خلال المكتبة fs. لكنني لم أجد تابع ضمن هذه المكتبة لنقل الملفات.

كيف يمكنني أن أنقل ملف من مكان لآخر ضمن نفس المجلّد أو ضمن مجلّد آخر في node.js ؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

يمكنك تثبيت الحزمة mv لكي تقوم بنقل الملفات بكل سهولة

npm i mv

ويمكنك إستخدامها كالآتي

// إستدعاء الحزمة
var mv = require('mv');
 
/* قم بإستبدال
 * source/file
 * بالمسار الكامل للملف الذي تريد نقله
 * واستبدل
 * dest/file
 * بالمسار الكامل للوجهة الذي تريد نقل الملف إليها مع اسم الملف
*/
mv('source/file', 'dest/file', function(err) {
  // كتابة كود عند وقوع مشكلة هنا
});

اما إذا أردت نقل الملفات بدون تثبيت حزم فيمكنك إستخدام هذا الكود

var fs = require('fs');

// تحديد الملف المراد نقله
var source = fs.createReadStream('source_file');
// تحديد الوجهة المراد النقل إليها
var dest = fs.createWriteStream('destination_file');

// نسخ الى المسار الجديد
source.pipe(dest);
// فك الربط بعد الإنتهاء
source.on('end',function() {
    fs.unlinkSync('source_file');
});

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1

يمكنك استخدام تابع إعادة التسمية rename:

const fs = require('fs');

fs.rename(oldPath, newPath, callback)

والذي من ضمن خصائصه أنه يمكنك تعريف مسار جديد للملف وعندها سيتم نقل هذا الملف من المسار الموجود فيه إلى المسار الجديد، مثال:


var old = '..المسار الحالي للملف/file.txt'
var new_path = '..المسار الجديد للملف/file.txt'

fs.rename(old, new_path, function (err) {
  if (err) throw err
  console.log('success')
})

كما يمكنك تحميل واستخدام المكتبة mv، ولكن لا حاجة لأي مكاتب خارجية فهي طريقة بسيطة وسريعة من قبل node.js

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

يمكنك استخدام fs.copyFile بهذه الطريقة 

const fs = require('fs');

fs.copyFile('source.txt', 'destination.txt', (err) => {
  if (err) throw err;
  console.log('source.txt was copied to destination.txt');
});

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...