Multer et Express/Nœud de Téléchargement de Fichier
req.fichiers est de produire de la valeur null et maintenant req.le corps est également vide. J'ai cherché à travers toutes les réponses ici et ne peut pas trouver beaucoup. Malheureusement, la multer documentation était assez dépourvu, alors j'espère que quelqu'un est passé par ce que je suis, et qui sait ce qui se passe.
Mon router.js fichier est: est-ce
var express = require('express');
var request = require('request');
var mid = require('../middleware');
var busboy = require('connect-busboy');
var fs = require('fs');
var multer = require('multer');
var upload = multer({dest: '../public/images/blog'});
var User = require('../data/models/user');
var router = express.Router();
...
...
...
...
/* POST saveblog router. */
router.post('/saveBlog', upload.any(),function(req, res, next) {
console.log(req.body, 'Body');
console.log(req.files, 'files');
var title = req.body.titleInput;
var body = req.body.bodyInput;
request.post('http://' +req.headers.host + '/api/blog', {json: {body: body, title: title, userId: req.session.userId}},
function(err, httpResponse, body) {
if (err) {
console.error('error posting blog');
}
console.log('Blog Post successfully uploaded');
});
return res.redirect('/blog');
});
module.exports = router;
Donc je ne suis pas totalement sûr de ce qu'est le mal, j'ai d'abord eu comme téléchargement.unique('image') mais cela ne fonctionne pas non plus, donc qui sait.
Voici ma jade formulaire pour être soumis, si quelqu'un peut aider, mais n'aime pas jade je suis sûr que je peux trouver un moyen rapide de convertisseur pour.
form(action='saveBlog', enctype='multipart/form-data', method='post')
h1 New Blog Post
fieldset(data-role='')
label(for='title') Title
input(id='titleInput', name='titleInput', type='text', value='', placeholder='Your Title', require='true').form-control
label(for='image') Your Title Image
input(id='image',name='image', type='file', accept='image/*')
br
label(for='body') Your Article (Box is resizable)
textarea(id='mytextarea', name='bodyInput').form-control
input(type='submit', value='Post your Article').btn.btn-primary
OriginalL'auteur matt.condit | 2016-10-19
Vous devez vous connecter pour publier un commentaire.
J'ai travaillé sur ce sujet aujourd'hui. Une chose que j'ai remarqué, c'est que vous êtes en utilisant
upload.single()
, les données que vous cherchez sera enreq.file
pasreq.files
.Je ne suis pas sûr si c'est votre question.
Pour info, ce allégée exemple qui fonctionne pour moi:
server.js
routes.js
J'ai posté Facteur et a obtenu ce résultat:
Avez-vous fixé le téléchargement de fichiers? Pouvez-vous m'aider en mettant à jour la façon dont vous fixe du Téléchargement d'un fichier?
de mon côté, je ne suis pas arriver fieldname.
Est de votre demande, une requête POST avec enctype="multipart/form-data"?
OriginalL'auteur Dave
Il suffit de renommer
req.file
àreq.files
. Il a travaillé pour moi.OriginalL'auteur Y. Joy Ch. Singha