Skill

ফর্ম ডেটা এবং ফাইল ম্যানেজমেন্ট

KoaJS এর Form Data এবং File Upload - কোআজেএস (KoaJS) - Web Development

224

KoaJS হল একটি আধুনিক এবং শক্তিশালী ওয়েব ফ্রেমওয়ার্ক যা Node.js পরিবেশে ব্যবহৃত হয়। KoaJS-এ ফর্ম ডেটা এবং ফাইল ম্যানেজমেন্ট সহজভাবে করা যায়, বিশেষ করে যখন আপনি POST রিকোয়েস্টে ফর্ম ডেটা বা ফাইল আপলোড করতে চান। এই টিউটোরিয়ালে, আমরা ফর্ম ডেটা এবং ফাইল ম্যানেজমেন্টের জন্য KoaJS-এ প্রয়োজনীয় টুলস এবং মিডলওয়্যার ব্যবহারের পদ্ধতি আলোচনা করব।


১. ফর্ম ডেটা প্রসেসিং

KoaJS-এ ফর্ম ডেটা প্রসেস করতে সাধারণত koa-bodyparser বা koa-multer মিডলওয়্যার ব্যবহৃত হয়। ফর্ম ডেটা যেমন application/x-www-form-urlencoded বা application/json ধরনের হতে পারে, এবং এগুলোকে KoaJS অ্যাপ্লিকেশনে পার্স করতে হয়।

১.১ koa-bodyparser ব্যবহার করা

koa-bodyparser একটি সহজ এবং সাধারণ মিডলওয়্যার, যা application/json এবং application/x-www-form-urlencoded ফর্ম ডেটা পার্স করতে সহায়তা করে।

koa-bodyparser ইনস্টল করা:

npm install koa-bodyparser

koa-bodyparser ব্যবহার করা:

const Koa = require('koa');
const Router = require('koa-router');
const bodyParser = require('koa-bodyparser');
const app = new Koa();
const router = new Router();

// koa-bodyparser মিডলওয়্যার ব্যবহার
app.use(bodyParser());

// ফর্ম ডেটা পোস্ট করা
router.post('/submit', (ctx) => {
  const formData = ctx.request.body;  // ফর্ম ডেটা অ্যাক্সেস করা
  ctx.body = {
    message: 'Form data received successfully!',
    data: formData
  };
});

app
  .use(router.routes())
  .use(router.allowedMethods());

app.listen(3000, () => {
  console.log('Server running on http://localhost:3000');
});

এখানে, আমরা koa-bodyparser মিডলওয়্যার ব্যবহার করে ফর্ম ডেটা পার্স করছি এবং ctx.request.body এর মাধ্যমে ফর্ম ডেটা অ্যাক্সেস করছি।


২. ফাইল আপলোড (File Upload) এবং ম্যানেজমেন্ট

KoaJS-এ ফাইল আপলোড এবং ম্যানেজমেন্টের জন্য জনপ্রিয় মিডলওয়্যার koa-multer ব্যবহৃত হয়। এটি একটি multipart/form-data ফর্ম ডেটা হ্যান্ডল করার জন্য ডিজাইন করা হয়েছে, যা সাধারণত ফাইল আপলোডের ক্ষেত্রে ব্যবহৃত হয়।

২.১ koa-multer ইনস্টল করা

npm install koa-multer

২.২ koa-multer ব্যবহার করে ফাইল আপলোড করা

const Koa = require('koa');
const Router = require('koa-router');
const multer = require('koa-multer');
const path = require('path');
const app = new Koa();
const router = new Router();

// multer সেটআপ
const storage = multer.diskStorage({
  destination: function (req, file, cb) {
    cb(null, 'uploads/');  // ফাইল কোথায় সংরক্ষণ হবে
  },
  filename: function (req, file, cb) {
    cb(null, Date.now() + path.extname(file.originalname));  // ফাইলের নাম সেট করা
  }
});
const upload = multer({ storage: storage });

// ফাইল আপলোড রুট তৈরি করা
router.post('/upload', upload.single('file'), (ctx) => {
  ctx.body = {
    message: 'File uploaded successfully!',
    file: ctx.file // আপলোড করা ফাইলের তথ্য
  };
});

app
  .use(router.routes())
  .use(router.allowedMethods());

app.listen(3000, () => {
  console.log('Server running on http://localhost:3000');
});

এখানে, koa-multer মিডলওয়্যার ব্যবহার করা হয়েছে, যা ফাইল আপলোড হ্যান্ডল করে এবং ফাইলটি uploads/ ডিরেক্টরিতে সংরক্ষণ করে। upload.single('file') ফাংশনটি একক ফাইল আপলোডের জন্য ব্যবহৃত হয়, যেখানে 'file' ফাইলের ফিল্ড নাম। ফাইলের নাম Date.now() দ্বারা তৈরি করা হয়, যাতে ফাইলের নামের মধ্যে কোনও কনফ্লিক্ট না হয়।

২.৩ ফাইল ডিরেক্টরি তৈরি এবং ফাইল সেভিং

ফাইল আপলোডের জন্য ডিরেক্টরি তৈরি করতে হবে যেখানে ফাইলগুলি সেভ হবে। যেমন, উপরের কোডে uploads/ নামক একটি ডিরেক্টরি ব্যবহার করা হয়েছে। যদি এই ডিরেক্টরি না থাকে, তবে আপনাকে এটি ম্যানুয়ালি তৈরি করতে হবে।

এছাড়া, আপনি যদি ফাইলের ধরন (মিমে টাইপ) বা ফাইলের আকার কাস্টমাইজ করতে চান, তাহলে multer এর কনফিগারেশন ব্যবহার করতে পারেন।


৩. ফাইল ডাউনলোড

KoaJS-এ আপলোড করা ফাইল ডাউনলোড করার জন্য koa-send মিডলওয়্যার ব্যবহার করা যায়, যা সার্ভারের ফাইল পাঠানোর জন্য ব্যবহৃত হয়।

৩.১ koa-send ইনস্টল করা

npm install koa-send

৩.২ ফাইল ডাউনলোড করার উদাহরণ

const Koa = require('koa');
const Router = require('koa-router');
const send = require('koa-send');
const app = new Koa();
const router = new Router();

// ফাইল ডাউনলোড রুট
router.get('/download/:filename', async (ctx) => {
  const filename = ctx.params.filename;
  const filePath = path.join(__dirname, 'uploads', filename);  // ফাইলের পাথ
  await send(ctx, filePath);  // ফাইল পাঠানো
});

app
  .use(router.routes())
  .use(router.allowedMethods());

app.listen(3000, () => {
  console.log('Server running on http://localhost:3000');
});

এখানে, koa-send ব্যবহার করা হয়েছে যাতে আমরা সার্ভারের uploads ডিরেক্টরি থেকে ফাইল ডাউনলোড করতে পারি। রুট GET /download/:filename ফাইলের নাম প্যারামিটার হিসেবে নেয় এবং সেই ফাইলটি ডাউনলোড করে পাঠায়।


সারাংশ

KoaJS-এ ফর্ম ডেটা এবং ফাইল ম্যানেজমেন্ট খুবই সহজ এবং কাস্টমাইজযোগ্য। koa-bodyparser মিডলওয়্যার ব্যবহার করে ফর্ম ডেটা, এবং koa-multer ব্যবহার করে ফাইল আপলোড করতে পারি। এছাড়া, koa-send ব্যবহার করে আমরা আপলোড করা ফাইল ডাউনলোডও করতে পারি। এই টুলগুলো ব্যবহারের মাধ্যমে KoaJS-এ ফর্ম ডেটা এবং ফাইল ম্যানেজমেন্ট কার্যক্রম দ্রুত এবং সহজে করা যায়।

Content added By
Promotion

Are you sure to start over?

Loading...