fbpx

Koa Body Cleaner Temporary Files auto remover pada koa nodejs

koa-body-clean-koajs-arifharianto

Sesuai judul pada artikel, bahasan kali ini saya akan menjabarkan tentang auto remover uploaded file pada Koa nodejs menggunakan Koa Body Cleaner.

Oya! sedikit cerita tentang kesibukan harian beberapa bulan ini agak sedikit ribet, dikarenakan saya yang ribet dengan urusan perpindahan dari perusahaan sebelumnya ketempat saya sekarang bekerja.

Sejak saat itu saya menghabiskan waktu untuk beradaptasi, baik dengan lingkungan baru dan juga enviroment dan project-project baru dengan framework yang baru.

Yup! itulah yang mendasari saya menulis artikel ini, karena berdasarkan pengalaman nyata ditempat saya bekerja.

Ok! gak perlu panjang lebar lah ya, mari kita masuk ke bahasan pokok.

Koa.js

Koa adalah salah satu framework web Node.js minimal dan fleksibel yang menyediakan serangkaian fitur yang kuat untuk aplikasi web dan seluler.

Ini adalah framework opensource yang dikembangkan dan dikelola oleh pembuat Express.js, framework web node paling populer.

Untuk kalian yang baru kenalan sama Koa.js , lebih jelasnya teman-teman bisa cek informasi tentang Koa.js di beberapa page berikut :

Nah! karena kali ini pembahasan akan lebih mengerucut pada Koa Body Cleaner jadi pengenalan perihal Koa nya di singkat saja ya.

Koa Body Cleaner

Adalah salah satu middleware yang bisa Anda gunakan untuk menghapus file temporary yang di upload ke server tiap kali ada request upload file.

Setiap kali kita upload file ke server, file akan di tampung terlebih dahulu ke temporary folder sebelum di move / dipindahkan ke directory yang sudah kita tentukan.

File temporary tersebut akan tetap ada di dalam folder temporary jika kita tidak menghapusnya. Nah! package koa-body-clean ini bisa digunakan dengan mudah tanpa pusing-pusing mikirin bagai mana codenya.

koa body clean support for request and another middleware

Sesuai dengan perintah instalasinya di github koa-body-clean berikut beberapa step dan persyaratan untuk kalian yang ingin menggunakan Koa Body Clean ini.

Requirement :

  • Koa middleware untuk auto cleanup file yang dibuat dengan :
    • koa-body
    • koa-better-body
    • koa-multer
    • atau multipart middleware yang terdapat ctx.request.files, ctx.request.body.files atau ctx.req.files
  • Node >= 7.6.x
  • koa >= 2

Jika persyaratan diatas sudah terpenuhi, tinggal jalankan saja perintah berikut pada project yang sudah terinstall koa.js :

npm install koa-body-clean

Lalu tambahkan pada Usage / required :

const bodyClean = require('koa-body-clean')

Ok! saya akan contohkan sedikit code simple untuk melihat / check pergerakan file temporary dari menggunakan koa-body-clean dan tanpa package tersebut.

const Koa = require('koa');
const koaRouter = require("koa-router");
const koaBody = require("koa-body");
const bodyClean = require('koa-body-clean')
const fs = require("fs");
const path = require('path');

const app = new Koa();
const router = new koaRouter();

router.post("/upload", async ctx => {

    const body = ctx.request.body;
    var path_temp = ctx.request.files.file.path;

    console.log('temp file '+"\n");
    console.log(path_temp);
    console.log("\n");

    let { file } = ctx.request.files;

    const reader = fs.createReadStream(file.path);
    let filePath = 'upload/' + `${file.name}`;
    const upStream = fs.createWriteStream(filePath);

    reader.pipe(upStream);
    ctx.body = 'ok';
});

// We enable multipart body parsing
app.use(koaBody({ multipart: true}));
//
//koa clean 
app.use(bodyClean());

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

app.listen(3000);

Saya ingin upload file ke direktori upload/ dengan menggunakan koa-body untuk membaca inputan body dari parameter yang dikirim user.

Dari code tersebut saya melakukan log untuk mendapatkan path dimana letak temporary file berada, jika teman-teman jalankan perintah diatas maka akan muncul tampilan seperti berikut.

directory folder temporary file pada request

Pada log tersebut string menunjukan tempat dimana log file temporary berada, tentunya path tersebut akan berbeda-beda pada masing-masing komputer.

jika teman-teman tidak menggunakan koa body clean, file pada path tersebut akan tetap ada walaupun proses upload / request sudah selesai.

Gimana? Semoga informasi ini berguna bagi teman-teman, Keep Share.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Top