donc j’essaye de télécharger une image avec Multer mais je veux utiliser $ http.post de Angular pour télécharger le fichier. L’absence de bouton d’envoi déclenche la méthode et l’action du formulaire. Le problème est que si je n’utilise pas d’atsortingbuts encrypt, method ou post, le fichier req.file finit par être indéfini et l’image n’apparaît pas dans le dossier de téléchargement.
Ma question est donc la suivante: est-il possible d’utiliser le fichier Multer pour l’envoi de fichiers non par la méthode de formulaire classique avec action mais par $ http.post () de angular? Quand je le fais maintenant, le req.file est toujours indéfini.
Voici mon code de référence
app.js (Node)
var express = require('express'); var http = require('http'); var path = require('path'); var fs = require('fs'); var crypto = require('crypto'); var multer = require('multer'); var bodyParser = require('body-parser'); var app = express(); var port = process.env.port || 8080; app.set('view engine', 'ejs'); app.use('/assets', express.static(__dirname + '/public')); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); var path = require('path'); var multer = require('multer'); var storage = multer.diskStorage({ destination: './public/uploads/', filename: function (req, file, cb) { crypto.pseudoRandomBytes(16, function (err, raw) { if (err) { return cb(err); } cb(null, raw.toSsortingng('hex') + path.extname(file.originalname)); }); } }); var upload = multer({ storage: storage }); app.get('/', function (req, res) { 'use ssortingct'; res.render('index', {filename: filename }); }); app.post('/', function (req, res) { 'use ssortingct'; }); app.post('/upload', upload.single('image'), function (req, res) { filename = req.files; console.log(req.files); }); app.listen(port);
Formulaire HTML: