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

  • Abe Olandres

    Abe Olandres

    16 EYLÜL 2006
  • EminemVEVO

    EminemVEVO

    12 Mayıs 2009
  • whatever

    whatever

    30 EYLÜL 2005