Ich habe versucht, eine Datei mit node.js und ajax hochzuladen, aber ich kann es nicht funktionieren lassen. Ich erhalte keinen Fehler, aber nichts ist in meinem Speicherordner.Node.js + ajax, Datei hochladen
index.js:
app.post('/newFlavour', function(req, res){
console.log("[INFO] New flavour request: " + req.body.name);
let form = new formidable.IncomingForm();
form.uploadDir = path.join(__dirname, '/storage');
form.on('file', function(field, file) {
fs.rename(file.path, path.join(form.uploadDir, file.name));
});
form.on('error', function(err) {
console.log('An error has occured: \n' + err);
});
form.on('end', function() {
console.log('success');
});
form.parse(req); });
Meine Funktion mit der Ajax-Anfrage:
function createFlavour() {
let file = $('#upload-input').get(0).files;
const formData = new FormData();
formData.append('uploads', file, file.name);
console.log(file)
$.ajax({
url: "http://localhost:3000/newFlavour",
type: "POST",
dataType: "json",
data: JSON.stringify({
name: $('#name').val(),
file: file
}),
contentType: "application/json",
success: function (data) {
console.log(data);
},
error: function() {
alert("Error occured");
},
complete: function() {
console.log("complete")
}
});
clearModal(); }
Der Eingang tag:
<input id="upload-input" type="file" name="upload"></br>
Ich weiß nicht, was ich hier fehle .
Vielen Dank im Voraus!
'Ich habe nicht eine error', oder vielleicht haben Sie tun .. Ich ignoriere alle Fehler an 2 Stellen, die ich sehen kann, eine auf Ihrem 'fs.rename', und wieder auf der' form.parse', ... bekommen Sie die Fehlerbehandlung sortiert und es könnte Ihnen einen Hinweis geben das Problem. – Keith