SORU
16 NİSAN 2014, ÇARŞAMBA


Dosya 4.0 Express ile yükleme: ger.dosyaları tanımlanmamış

Basit Dosya Yükleme mekanizması 4.0 Express ile çalışma almak için çalışıyorum ama app.post gövde req.files undefined almaya devam ediyorum. Burada ise ilgili kod:

var bodyParser = require('body-parser');
var methodOverride = require('method-override');
//...
app.use(bodyParser({ uploadDir: path.join(__dirname, 'files'), keepExtensions: true })); 
app.use(methodOverride()); 
//...
app.post('/fileupload', function (req, res) {
  console.log(req.files); 
  res.send('ok'); 
}); 

.. ve ona eşlik eden Yeşim kodu:

form(name="uploader", action="/fileupload", method="post", enctype="multipart/form-data")
    input(type="file", name="file", id="file")
    input(type="submit", value="Upload")

Çözüm
, bodyParser yerine busboy kullanarak geçiş yaptım aşağıda mscdex tarafından yanıt için teşekkürler

var fs = require('fs');
var busboy = require('connect-busboy');
//...
app.use(busboy()); 
//...
app.post('/fileupload', function(req, res) {
    var fstream;
    req.pipe(req.busboy);
    req.busboy.on('file', function (fieldname, file, filename) {
        console.log("Uploading: "   filename); 
        fstream = fs.createWriteStream(__dirname   '/files/'   filename);
        file.pipe(fstream);
        fstream.on('close', function () {
            res.redirect('back');
        });
    });
});

CEVAP
16 NİSAN 2014, ÇARŞAMBA


body-parser Bu modül sadece JSON ve urlencoded formu sunumları, çok parçalı dosya yükleme yapıyorsanız durum olurdu () işler.

Parçalı için, connect-busboy multer connect-multiparty (çok partili/zorlu aslen express bodyParser katman kullanılmıştır nedir) gibi bir şey kullanmak gerekir. Ayrıca FWIW, komi üstüne daha da yüksek düzeyde bir katman reformed adı üzerinde çalışıyorum. Express bir katman ile birlikte ve ayrı olarak da kullanılabilir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • EEVblog

    EEVblog

    4 NİSAN 2009
  • L33TNoonProductions

    L33TNoonProd

    24 EYLÜL 2010
  • Unbox Therapy

    Unbox Therap

    21 Aralık 2010