So ändern Sie den Upload-Pfad, wenn Sie formidable mit express in node.js verwenden
Eigentlich stoße ich auf zwei Probleme
Erstens, wie man den Upload-Pfad ändert
meine ordnerstruktur sieht so aus:
|__app.js
|__upload
Mein Node-Code ist in app.js und bootet von dort. Wenn ich das Bild in den Upload-Ordner hochladen möchte, ändere ich den Pfad:
var form = new formidable.IncomingForm;
form.uploadDir = "./upload";
Es scheint, dass der Upload erfolgreich war, aber ich weiß nicht, wohin die Datei verschoben wird, und nicht im Upload-Ordner.
Also, was ist der richtige Pfadname?
Das zweite Problem ist
Wenn ich es nicht ändere, könnte es korrekt auf das hochladenC:/Users/ADMINI~1/AppData/Local/Temp
aber es wird ohne das foramt umbenannt,
Wie kann ich das Upload-Format erhalten und selbst umbenennen?
Das dritte Problem ist
Ich binde auch den Handler an denprocess
Ereignis, wie
form.on('progress', function(bytesReceived, bytesExpected) {
console.log(bytesReceived + ' ' + bytesExpected);
});
aber es scheint nicht zu funktionieren, wenn beim hochladen nichts protokolliert wird. Warum fehlt mir etwas?
Hier ist mein gesamter Code:
app.post('/upload', function (req, res) {
var form = new formidable.IncomingForm;
// form.uploadDir = "./upload";
console.log(form.uploadDir);
form.parse(req, function(err, fields, files){
if (err) return res.end('You found error');
console.log(files.image);
});
form.on('progress', function(bytesReceived, bytesExpected) {
console.log(bytesReceived + ' ' + bytesExpected);
});
form.on('error', function(err) {
res.writeHead(200, {'content-type': 'text/plain'});
res.end('error:\n\n'+util.inspect(err));
});
// res.end('Done');
res.send("well done");
return;
})