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

السؤال

نشر

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

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

Recommended Posts

  • 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

  • 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');
});

 

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...