Im tải lên hình ảnh với kết nối biểu mẫu. Nhưng nó không hoạt động nếu tôi sử dụng bodyParser()
. Và cách khác xung quanh, nếu tôi không sử dụng bodyParser, tôi không thể tải lên tập tin?Expressjs bodyParser và dạng kết nối
Tôi làm cách nào để chúng phát cùng nhau? Đây là cấu hình của tôi:
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());
});
Oh thats nice :) Nhưng bây giờ tôi gặp sự cố với tên tệp. Với 'req.files.image.filename' tôi lấy tên của hình ảnh trước khi nó được tải lên. Và nó được đổi tên thành một chuỗi ngẫu nhiên hoặc một cái gì đó sau đó. Bộ đó ở đâu? Dường như không tìm thấy bất cứ điều gì về chủ đề này? – georgesamper
Bạn nhận được tên và đường dẫn cho hình ảnh. Chỉ cần di chuyển hình ảnh đó từ vị trí tạm thời sang vị trí mong muốn và bạn tốt để đi :) – alessioalex
Liên kết bị hỏng ngay bây giờ, sẽ tốt hơn nếu đặt câu trả lời ở đây thay vì dán liên kết trong –