Node.js uygulamamızda form işlemleri nasıl yapılır bir önceki bölümde öğrenmiştik.Şimdi ise dosya yükleme işlemlerini nasıl yapacağız ona bakalım.
Uygulamamıza dosya yüklemek için ek bir modüle daha ihtiyacımız olacak.Bu modülümüz multer.

Form oluşturma

<form  action="/dosyayukle" method="post" enctype="multipart/form-data" >
<input type="file" name="dosya" />
</form>

Formun çıktısı :




Formu kısaca açıklayalım :
enctype="multipart/form-data" burada form verileri sunucuya gönderilirken nasıl kodlanacağı belirtilir.

Name değeri!!!

  Buradaki en önemli nokta enctype="multipart/form-data" değeridir. Eğer bu değer "multipart/form-data" olmazsa sunucuya dosya gönderemezsiniz.

Form öğelerini Node.js ugulamamızda kullanmak

Node.js uygulamamıza dosya yüklemek için multer modülünü kullanacağız.
var express = require('express')
var app = express()
var multer  = require('multer')
var upload = multer({ dest: 'uploads/' })
 
app.post('/dosyayukle', upload.single('dosya'), function (req, res, next) {
 //fonskiyon ile istediğinizi yapabilirsiniz
})

Şimdi bakalım sunucu dosyamızda neler yaptık :


Bonus Bölümü (AJAX)

AJAX kodumuz :
$( document ).ready(function() {
$("#kayit").submit(function(event){
    event.preventDefault(); //varsayılan  gönderimini (ajax olmadan) engelleme  
    var post_url = $(this).attr("action"); //formun hangi işlemi yaptığı
    var form_metodu = $(this).attr("method"); //formun metodunu
    var form_elemanları = $(this).serialize(); //form elemanları
    
    $.ajax({
        url : post_url,
        type: form_metodu,
        data : form_elemanları
    }).done(function(sonuc){ //sunucudan gönderilen veri
        alert(sonuc) //Örnek: " ADINIZ:Mustafa Kemal  SOYADINIZ: Atatürk  YAŞINIZ: 19"
    });
});
})