আমি কীভাবে নোড.জেএস দিয়ে কোনও ফাইল মুছব?
http://nodejs.org/api/fs.html#fs_fs_rename_oldpath_newpath_callback
আমি একটি অপসারণ কমান্ড দেখতে পাচ্ছি না?
আমি কীভাবে নোড.জেএস দিয়ে কোনও ফাইল মুছব?
http://nodejs.org/api/fs.html#fs_fs_rename_oldpath_newpath_callback
আমি একটি অপসারণ কমান্ড দেখতে পাচ্ছি না?
উত্তর:
rmFileউপনাম
rmযদি তাদের rmdirপদ্ধতি থাকে
fs.unlinkSync()
আপনি fs.unlink(path, callback)অ্যাসিঙ্ক্রোনাস আনলিঙ্ক (2) বা fs.unlinkSync(path)সিঙ্ক্রোনাস আনলিংক (2) এর জন্য কল করতে পারেন । ফাইল-পাথ
কোথায় pathযা আপনি সরাতে চান।
উদাহরণস্বরূপ আমরা ডিরেক্টরি discovery.docxথেকে ফাইল সরাতে চাই c:/book। সুতরাং আমার ফাইল-পাথ c:/book/discovery.docx। সুতরাং ফাইলটি অপসারণের কোডটি হবে,
var fs = require('fs');
var filePath = 'c:/book/discovery.docx';
fs.unlinkSync(filePath);
আপনি যদি ফাইলটি মুছে ফেলার আগে পরীক্ষা করতে চান তবে তা বিদ্যমান আছে কি নেই। সুতরাং, পরিবর্তে fs.stat বা fs.statSync ( সিঙ্ক্রোনাস ) ব্যবহার করুন fs.exists। কারণ সর্বশেষ নোড.জেএস ডকুমেন্টেশন অনুসারে , fs.existsএখন হ্রাস করা হয়েছে ।
উদাহরণ স্বরূপ:-
fs.stat('./server/upload/my.csv', function (err, stats) {
console.log(stats);//here we got all information of file in stats variable
if (err) {
return console.error(err);
}
fs.unlink('./server/upload/my.csv',function(err){
if(err) return console.log(err);
console.log('file deleted successfully');
});
});
fs.unlink, এবং ফাইলটি উপস্থিত না থাকলে ENOENTকলব্যাকে আপনার একটি ত্রুটি ঘটবে। লিঙ্কমুক্ত করার চেষ্টা করার আগে পরীক্ষা করার দরকার নেই।
fs.unlinkফাইলের অস্তিত্ব না থাকায় মুছুন অপারেশন কেন সম্পাদন করে, তাই আমার ভিউ অপসারণের আগে চেক ফাইলটি।
unlinkকলব্যাকে কেবল ENOENT ত্রুটি কোডটি পরীক্ষা করুন । যদি ত্রুটিটি ঘটে থাকে তবে ফাইলটি উপস্থিত ছিল না। উদাহরণস্বরূপ সিরেনের উত্তর দেখুন।
আমি মনে করি না যে আপনার ফাইলটি আছে কিনা fs.unlinkতা যাচাই করতে হবে , এটি আপনার জন্য যাচাই করে নেবে ।
fs.unlink('fileToBeRemoved', function(err) {
if(err && err.code == 'ENOENT') {
// file doens't exist
console.info("File doesn't exist, won't remove it.");
} else if (err) {
// other errors, e.g. maybe we don't have enough permission
console.error("Error occurred while trying to remove file");
} else {
console.info(`removed`);
}
});
এই উদ্দেশ্যে আমি তৈরি একটি ছোট স্নিপেট এখানে,
var fs = require('fs');
var gutil = require('gulp-util');
fs.exists('./www/index.html', function(exists) {
if(exists) {
//Show in green
console.log(gutil.colors.green('File exists. Deleting now ...'));
fs.unlink('./www/index.html');
} else {
//Show in red
console.log(gutil.colors.red('File not found, so not deleting.'));
}
});
fs.existsফেলার আগে অন্যরা ফাইল মুছে ফেলে তবে কী হবে fs.unlink? এটা হতে পারে.
unlink, এবং এটি উপস্থিত না থাকলে ENOENTত্রুটিটি পরিচালনা করুন handle অন্যথায় আপনি একটি রেসের শর্ত তৈরি করতে পারেন।
গৃহীত উত্তর হিসাবে, fs.unlinkফাইলগুলি মুছতে ব্যবহার করুন।
তবে নোড.জেএস ডকুমেন্টেশন অনুসারে
ব্যবহার
fs.stat()কল করার আগে ফাইল অস্তিত্ব জন্য চেক করতেfs.open(),fs.readFile()বাfs.writeFile()বাঞ্ছনীয় নয়। পরিবর্তে, ব্যবহারকারী কোডটি সরাসরি ফাইলটি খুলতে / পড়তে / লিখতে হবে এবং ফাইলটি উপলভ্য না হলে উত্থিত ত্রুটিটি পরিচালনা করতে হবে।কোনও ফাইল এটি পরে চালিত না করে উপস্থিত কিনা তা পরীক্ষা করার
fs.access()জন্য সুপারিশ করা হয়।
ফাইলগুলি মুছে ফেলা যায় বা না, fs.accessতার পরিবর্তে ব্যবহার করুন check
fs.access('/etc/passwd', fs.constants.R_OK | fs.constants.W_OK, (err) => {
console.log(err ? 'no access!' : 'can read/write');
});
unlinkসরাসরি ব্যবহার করবে কারণ তারা জানে যে ফাইলটি মুছে ফেলার অধিকার রয়েছে। তবে fs.accessমুছে ফেলার আগে যদি তাদের পরীক্ষা করতে হয় তবে এটি একটি ভাল বিকল্প। তবে আমি মনে করি যদি তাদের কোনও ফাইল এটির পরে চালিত না করে উপস্থিত থাকে কিনা তা খতিয়ে দেখার দরকার আছে, তাদের স্বাভাবিকভাবে ব্যবহার করা উচিত fs.stat, fs.accessআমার বিনীত মতের ভিন্ন উদ্দেশ্য রয়েছে।
এখানে আমার কোড নীচে যা সূক্ষ্ম কাজ করে।
const fs = require('fs');
fs.unlink(__dirname+ '/test.txt', function (err) {
if (err) {
console.error(err);
}
console.log('File has been Deleted');
});
2019 এবং নোড 10+ এখানে । সংস্করণের নীচে মিষ্টি async / অপেক্ষার উপায় ব্যবহার করে ।
এখন fs.unlinkপ্রতিশ্রুতিগুলিতে মোড়ানোর দরকার নেই বা অতিরিক্ত প্যাকেজগুলি (যেমন fs-extra) ব্যবহার করার দরকার নেই।
কেবল নেটিভ fs প্রতিশ্রুতি এপিআই ব্যবহার করুন ।
const fs = require('fs').promises;
(async () => {
try {
await fs.unlink('~/any/file');
} catch (e) {
// file doesn't exist, no permissions, etc..
// full list of possible errors is here
// http://man7.org/linux/man-pages/man2/unlink.2.html#ERRORS
console.log(e);
}
})();
fsPromises.unlinkনোড ডক্স থেকে এখানে অনুমান।
এছাড়াও দয়া করে নোট করুন যে fs.promises এপিআই নোড ১০.০xx এ পরীক্ষামূলক হিসাবে চিহ্নিত হয়েছে (তবে পুরোপুরি সূক্ষ্মভাবে কাজ করে) এবং এর পরে আর পরীক্ষামূলক হয় না 11.14.0।
আপনি বর্তমান ডিরেক্টরিতে এক বা একাধিক ফাইল অপসারণ করতে ডেল মডিউল ব্যবহার করতে পারেন । এটির মধ্যে কী দুর্দান্ত তা হ'ল এটি আপনাকে বর্তমানের চলমান ডিরেক্টরি এবং উপরের ডিরেক্টরি মুছে ফেলার বিরুদ্ধে সুরক্ষা দেয়।
const del = require('del');
del(['<your pathere here>/*']).then( (paths: any) => {
console.log('Deleted files and folders:\n', paths.join('\n'));
});
আপনি fs.unlink (পাথ, কলব্যাক) ফাংশন ব্যবহার করতে পারেন । এখানে "ত্রুটি-ব্যাক" প্যাটার্ন সহ ফাংশন র্যাপারের একটি উদাহরণ রয়েছে:
// Dependencies.
const fs = require('fs');
// Delete a file.
const deleteFile = (filePath, callback) => {
// Unlink the file.
fs.unlink(filePath, (error) => {
if (!error) {
callback(false);
} else {
callback('Error deleting the file');
}
})
};
ডিরেক্টরি নামের ফাইল থেকে সরান যা ফাইলের নামের জন্য রেজিপ্স্পের সাথে মেলে। ডিরেক্টরি থেকে সমস্ত ফাইল পেতে, fs.readdir - ফাইল সরাতে শুধুমাত্র fs.unlink ব্যবহার করা হয়
var fs = require('fs');
const path = '/path_to_files/filename.anyextension';
const removeFile = (fileName) => {
fs.unlink(`${path}${fileName}`, function(error) {
if (error) {
throw error;
}
console.log('Deleted filename', fileName);
})
}
const reg = /^[a-zA-Z]+_[0-9]+(\s[2-4])+\./
fs.readdir(path, function(err, items) {
for (var i=0; i<items.length; i++) {
console.log(items[i], ' ', reg.test(items[i]))
if (reg.test(items[i])) {
console.log(items[i])
removeFile(items[i])
}
}
});
fs-extra একটি অপসারণ পদ্ধতি সরবরাহ করে:
const fs = require('fs-extra')
fs.remove('/tmp/myfile')
.then(() => {
console.log('success!')
})
.catch(err => {
console.error(err)
})
https://github.com/jprichardson/node-fs-extra/blob/master/docs/remove.md
এনপিএম মডিউলটি এফএস-অতিরিক্ত ব্যবহার করুন , যা আপনাকে এফএস-এ সমস্ত কিছু দেয়, এবং সবকিছুই প্রচারিত হয়। বোনাস হিসাবে, এখানে একটি fs.remove () পদ্ধতি উপলব্ধ।
এখানে কোড যেখানে আপনি ফোল্ডার থেকে ফাইল / চিত্র মুছতে পারেন।
var fs = require('fs');
Gallery.findById({ _id: req.params.id},function(err,data){
if (err) throw err;
fs.unlink('public/gallery/'+data.image_name);
});
deleteউপনাম যুক্ত করতে পারে !