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

  • Andrew_Huang

    Andrew_Huang

    10 ŞUBAT 2006
  • HDstarcraft

    HDstarcraft

    12 Mayıs 2009
  • Kevin Bruckert

    Kevin Brucke

    30 Aralık 2006