Formidable 1,926,927 kısının kullanmış olduğu 23 pr 100 bug'un fixlendigi en son version'un 1.2.1 ve 7 ay önce güncellediği özellikle file upload' da kullanılan ve dosya parselleme package'i.
Low-level bir package'dir zaten high level framework kullanıyorsanız büyük ihtimalle zaten dahili olarak gelir. Express v4'de multipart handling ve body-parser bulunmadığını belirterek başlayalım.
Olarak ilk bir install edelim sonra kodlamaya başlayalım;
Şeklinde import edelim.
Şimdi önemli tarafı olan upload file kodlayalim.
Ilk önce html ile upload form'umuzu oluşturalım
Html kodlarını anlatmaya gerek görmüyorum onun dışında response ile html form'unu gönderdik.
Şimdi formidable import edelim ve temp bir dosyaya veri gönderelim.
Dosyanın gideceği yer files objesi, parse() method'una 3.argüman olarak gelen callback fonksiyonumuz.
Bir de önce ki dersten fs(File system) ile biraz sekillendirelim.
Mobilden yazdığım için hatalar olabilir, duzeltmekten cekinmeyin. Değerimi bilin halloween'de poker oynamak yerine serinin devamını yazıyorum )
Low-level bir package'dir zaten high level framework kullanıyorsanız büyük ihtimalle zaten dahili olarak gelir. Express v4'de multipart handling ve body-parser bulunmadığını belirterek başlayalım.
Kod:
npm install formidable
Olarak ilk bir install edelim sonra kodlamaya başlayalım;
Kod:
var Formidable = require('formidable')
Şeklinde import edelim.
Şimdi önemli tarafı olan upload file kodlayalim.
Ilk önce html ile upload form'umuzu oluşturalım
Kod:
var http = require('http')
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write('<form action = "fileupload" method = "post"
enctype = "multipart/form-data">');
res.write('<input type="file" name = "filetoupload"><br>');
res.write('<input type "submit">');
res.write('</form>');
return res.end();
}).listen(64352);
Html kodlarını anlatmaya gerek görmüyorum onun dışında response ile html form'unu gönderdik.
Şimdi formidable import edelim ve temp bir dosyaya veri gönderelim.
Kod:
var http = require('http')
var formidable = require('formidable'); // import ettik
http.createServer(function (req, res) {
if (req.url == 'upload') { // upload route ise
var form = new formidable.Incomingform(); // Incomingform olustur
form.parse(req, function (res, fields, files) { // parseleme islemi
res.write('Dosya yuklendi');
res.end();
});
} else {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write('<form action = "fileupload" method = "post" enctype = "multipart/form-data">');
res.write('<input type="file" name = "filetoupload"><br>');
res.write('<input type "submit">');
res.write('</form>');
return res.end();
}).listen(64352);
Dosyanın gideceği yer files objesi, parse() method'una 3.argüman olarak gelen callback fonksiyonumuz.
Bir de önce ki dersten fs(File system) ile biraz sekillendirelim.
Kod:
var http = require('http')
var formidable = require('formidable'); // import ettik
var fs = require('fs');
http.createServer(function (req, res) {
if (req.url == 'upload') { // upload route ise
var form = new formidable.Incomingform(); // Incomingform olustur
form.parse(req, function (res, fields, files) { // parseleme islemi
var oldpath = files.filetoupload.path;
var newpath = 'Dosya yolu + files.filetoupload.name;
fs.renams(kodları, newpath, function (err) {
if (err) throw err;
res.write('Dosya yuklendi ve belirttiginiz dosyaya kaydedildi');
res.end();
});
});
} else {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write('<form action = "fileupload" method = "post" enctype = "multipart/form-data">');
res.write('<input type="file" name = "filetoupload"><br>');
res.write('<input type "submit">');
res.write('</form>');
return res.end();
}).listen(64352);
Mobilden yazdığım için hatalar olabilir, duzeltmekten cekinmeyin. Değerimi bilin halloween'de poker oynamak yerine serinin devamını yazıyorum )