2011-12-12 28 views
5

ile görüntüleri karşıya yükleme formuna bağlanın. Ancak, bodyParser()'u kullanırsam çalışmaz. Ve diğer bir şekilde, bodyParser kullanmıyorsam, dosya yükleyemiyorum?Expressjs bodyParser ve connect-form

Onları birlikte nasıl oynatabilirim?

app.configure(function() { 
    app.register('.html', require('ejs')); 
    app.set('views', __dirname + '/../views'); 
    app.set('view engine', 'html'); 
    app.use(gzippo.staticGzip(__dirname + '/../public'),{ maxAge: 86400000 }); 
    app.use(express.bodyParser()); 
    app.use(express.methodOverride()); 
    app.use(form({ 
     keepExtensions: true, 
     uploadDir: __dirname + '/../tmp' 
    })); 
    app.use(express.cookieParser()); 
    app.use(express.session({ 
     secret: 'test', 
     cookie: { secure: true }, 
     store: new MySQLSessionStore(client.database, client.user, client.password) 
    })); 
    app.use(expressValidator); 
    app.use(app.router); 
    app.use(express.csrf()); 
}); 

cevap

5

Eğer (Bağlan 1.8.x beri kaldırılmış olan)-bağlamak formu dahil etmek gerekmez son Express kullanıyorsanız: İşte benim yapılandırma olduğunu.

Yüklenen dosyaları almak için rotalarınızda req.files dosyasını kullanın, Express diğerlerini yapar. Bu yayını göz atın:

http://tjholowaychuk.com/post/12943975936/connect-1-8-0-multipart-support

+0

Ah güzel şu :) Ama şimdi dosya adıyla bir sorun var. 'Req.files.image.filename' ile görmeden önce resmin adını alıyorum. Ve sonra rastgele bir dizeye ya da sonra bir şey yeniden adlandırıldı. Bu set nerede? Konuyla ilgili hiçbir şey bulamıyor mu? – georgesamper

+0

Görüntünün adını ve yolunu alırsınız. Sadece bu görüntüyü geçici konumdan istediğiniz yere taşıyın ve gitmek istediğinizde çok iyisiniz :) – alessioalex

+0

Link şimdi bozuldu, cevabı buraya yapıştırmak yerine –

İlgili konular