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

  • Angry Paintballer

    Angry Paintb

    8 Ocak 2012
  • DetroitBORG

    DetroitBORG

    29 Temmuz 2008
  • rekjavicxxx

    rekjavicxxx

    28 EKİM 2007