Je viens vers vous pour un petit soucis dont je ne trouve pas la solution...
Je tente de faire un chat dans lequel le client pourrait envoyer un fichier...
J'utilise Express pour structurer ma page et socket.io pour gérer le chat.
Pour récupérer le fichier envoyer, j'utilise "express-fileupload".
Seulement, mon req.files vaut undefined peut importe ce que je fais... :/
Voici le code si ça peut aider ^^'
let express = require('express');
let fileUpload = require('express-fileupload');
let app = express();
let server = require('http').createServer(app);
let io = require('socket.io')(server);
let session = require('express-session')({
secret: "monmotdepasseleplussecretdumonde:P",
resave: true,
saveUninitialized: true
});
let sharedSession = require('express-socket.io-session');
let ent = require('ent');
app.use(session)
.use(fileUpload({
limits: {fileSize: 100 * 1024 * 1024},
useTempFiles: true,
tempFileDir: '/tmp/',
}))
.use(express.static('public'))
.get('/', function (req, res) {
res.render('index.ejs');
})
.post('/upload', function (req, res) {
console.log(req);
if (Object.keys(req.files).length == 0) {
return res.status(400).send('No files were uploaded.');
}
// The name of the input field (i.e. "sampleFile") is used to retrieve the uploaded file
let sampleFile = req.files.sampleFile;
// Use the mv() method to place the file somewhere on your server
sampleFile.mv('/somewhere/on/your/server/filename.jpg', function(err) {
if (err)
return res.status(500).send(err);
res.send('File uploaded!');
});
})
io.use(sharedSession(session, {
autoSave: true
}));
io.on('connection', function (socket) {
socket.on('login', function (pseudo) {
pseudo = ent.encode(pseudo);
socket.handshake.session.pseudo = pseudo;
socket.handshake.session.save();
console.log("Un client est connecté");
socket.emit('connection', 'Vous êtes bien connecté en tant que ' + pseudo);
socket.broadcast.emit('connection', pseudo + ' vient de se connecter !');
})
socket.on('message', function (message) {
message = ent.encode(message);
socket.broadcast.emit('message', {message: message, pseudo: socket.handshake.session.pseudo});
})
});
server.listen(8080);
Je vous remercie par avance du temps que vous m'accordez.
Si ton problème est résolu, ce serait bien que tu marques ton sujet comme tel.
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
[Node.js][Express][socket.io] Envoi de fichier
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Tout est possible, pour qui sait apprendre!
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
Tout est possible, pour qui sait apprendre!
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.