Express.js İle Dosya Yükleme Nasıl Yapılır?

Express.js İle Dosya Yükleme Nasıl Yapılır?

Expressjs kullanarak web uygulamaları için dosya yükleme işlemini kolayca gerçekleştirebilirsiniz Multer modülü, bu işlemi kolaylaştıran en popüler modüllerden biridir Bu modül sayesinde, dosyaların boyutunu, türünü ve adını kontrol edebilirsiniz Dosya yükleme formunuzu oluştururken, dosya alanını belirlemeniz ve enctype=multipart/form-data özelliğini kullanmanız gerekiyor Ayrıca, dosyaların belirli bir klasöre yüklenmesini de sağlayabilirsiniz Expressjs ile dosya yükleme işleminin örneği, oldukça basit bir şekilde gerçekleştirilebilir

 Express.js İle Dosya Yükleme Nasıl Yapılır?

Web uygulamalarının önemli bir özelliği, kullanıcıların dosya yükleyebilmesidir. Dosya yükleme işlemi, birçok web uygulamasında kullanılır. Node.js'in en popüler web uygulama çerçevelerinden biri olan Express.js, dosya yükleme işlemini kolaylaştıracak birçok seçenek sunar.

Bu makalede, Express.js kullanarak nasıl dosya yükleme işlemini gerçekleştirebileceğinizi öğreneceksiniz. Multer modülü ile dosyaları doğru bir şekilde yükleyebilir, boyutunu, türünü ve adını kontrol edebilirsiniz. Ayrıca, dosya yükleme formunuzu oluştururken dosya alanını belirlemeniz gerekecektir. Şimdi, Express.js kullanarak bir dosya yükleme örneği gerçekleştirelim.


Dosya Yükleme

Dosya yükleme işlemi, birçok web uygulamasında kullanılır. Dosyaları kullanıcıların sunuculara yüklemesine izin verilir ve bu sayede web uygulamaları kullanıcılar tarafından kolayca paylaşılabilir. Express.js, dosya yükleme işlemi için birden fazla seçenek sunar. Bu seçenekler arasında, dosya yükleme işlemi için kullanılan modüller yer almaktadır.

Özellikle, Multer modülü gibi popüler modüller, doğru bir şekilde dosya yükleme işlemini gerçekleştirmenize yardımcı olabilir. Bu modüller dosyaların boyutunu, türünü ve adını kontrol ederek işlemi kolaylaştırır. Dosya yükleme işlemi, Express.js ile oldukça kolay hale gelir ve kullanıcıların yüklemek istedikleri dosyaları web uygulamalarına kolaylıkla yüklemesine olanak sağlar.


Multer Modülü

Express.js, web uygulamalarının geliştirilmesi için birçok modül sunar. Dosya yükleme işlemini kolaylaştırmak için de birçok modül mevcuttur. Multer modülü, dosya yükleme işlemini yaparken kullanabileceğiniz en popüler Express.js modüllerinden biridir.

Multer, dosyaların yüklenmesi sürecinde pek çok kontrolleri gerçekleştirir. Bu kontroller arasında dosyanın adı, türü ve boyutu bulunur. Ayrıca bu modül, dosyaların doğru bir şekilde yüklenmesini sağlar.

Dosya yükleme işlemini gerçekleştirirken, doğru bir yapı kullanmanız önemlidir. İşlem, hatasız bir şekilde tamamlanması gereken çok sayıda kontrolü içerir. Multer, bu kontrolleri yaparken size kolaylık sağlayacaktır. Bu sayede, dosya yükleme işlemini hatasız bir şekilde tamamlayabilirsiniz.


Multer Kullanımı

Multer modülü, dosya yükleme işleminin kolaylaştırılması için kullanılan popüler bir Express.js modülüdür. Modülün kullanımı oldukça basittir. İlk olarak, npm ile modülün yüklenmesi gerekir. Yükleme işlemi tamamlandıktan sonra, uygulamanın kod dosyasına dahil edilerek kullanılabilir hale getirilir.

Modülün kullanımı için öncelikle bir instance oluşturulmalıdır. Bu instance, dosya yükleme işleminden önce yapılması gerekenleri belirleyerek, dosyaların doğru bir şekilde yüklenmesini sağlar. Daha sonra, bu instance, uygulamadaki özel bir route ile ilişkilendirilir ve dosya yükleme işlemi gerçekleştirilir.

Modülün sunduğu özellikler arasında, dosyaların türünü, boyutunu ve adını kontrol etme gibi pek çok seçenek bulunur. Bu şekilde güvenli bir şekilde dosya yüklemek mümkündür. Multer modülünün kullanımı sayesinde, Express.js kullanarak çoklu dosya yükleme işlemleri yapmak oldukça kolay hale gelir.


Dosya Alanını Belirleme

Express.js ile dosya yükleme işlemi gerçekleştirirken, Multer modülünün yanı sıra dosya yükleme formunuzda hangi dosya alanını kullanacağınızı da belirlemeniz gerekiyor. Dosya alanını belirledikten sonra, dosyaların bu alana yükleneceğini söylemeniz gerekir. Bunun için enctype özelliğini kullanabilirsiniz. enctype="multipart/form-data", aynı zamanda dosya yüklerken kullanmanız gereken bir özelliktir.

Özellik Açıklama
name Form alanının adı.
type Dosya yükleme işlemi için belirlenmiş sabit değer olan "file" olarak ayarlanmalıdır.
accept Belirli dosya türlerini yüklemek isterseniz kullanabilirsiniz. Örneğin, sadece resim dosyaları yüklemek istersek accept="image/*" şeklinde kullanabiliriz.

Aşağıdaki örnek kod parçası, form oluşturmanızda yardımcı olacak temel HTML etiketlerini göstermektedir:

      <form action="/upload" method="post" enctype="multipart/form-data">      <input type="file" name="photo" accept="image/*">      <button type="submit">Yükle</button>    </form>  

Bu HTML kodlarını kullanarak, dosya yükleme formunu basitçe oluşturabilir ve diğer ayarları da Multer ile halledebiliriz.


Dosya Yükleme Örneği

Express.js kullanarak dosya yükleme işleminin örneği, oldukça basit bir şekilde gerçekleştirilebilir. Öncelikle, gerekli olan modül olan "multer" modülünü yükleyin ve daha sonra kullanıma dahil edin. Ardından, bir form oluşturup, dosya yükleme alanını belirleyin.

Bu adımları tamamlayarak şimdi örneği gerçekleştirebiliriz. Öncelikle, express ve multer modüllerini kullanarak uygulamamızı oluşturalım. Ardından, aşağıdaki örnekle dosya yükleme işlemini gerçekleştirebiliriz:

Dosya Yükleme Kodu
const express = require('express');
const multer = require('multer');
const app = express();

const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'uploads/')
},
filename: function (req, file, cb) {
cb(null, file.fieldname + '-' + Date.now())
}
})

const upload = multer({ storage: storage })

app.post('/uploadfile', upload.single('myFile'), (req, res, next) => {
const file = req.file
if (!file) {
const error = new Error('Please upload a file')
error.httpStatusCode = 400
return next(error)
}
res.send(file)
})

Yukarıdaki kodla, "uploadfile" adında bir post isteği oluşturuldu. Bu istekle birlikte, "myFile" ismindeki dosya yükleme alanından gelen dosya alındı ve "uploads/" klasörüne kaydedildi. Ardından, kaydedilen dosyanın bilgileri JSON formatında kullanıcıya geri gönderildi.

Bu işlem oldukça basit bir şekilde gerçekleştirilebilir ve Express.js kullanarak daha farklı dosya yükleme işlemleri de yapılabilmektedir.