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

  • njhaley

    njhaley

    24 NİSAN 2006
  • Tek Syndicate

    Tek Syndicat

    23 Temmuz 2008
  • thepoke64738

    thepoke64738

    17 HAZİRAN 2011