2016-11-15 2 views
0

Ich versuche, eine Datei in Meteor über HTTP POST-Methode und enctype = "multipart/form-data"Req.file Objekt ist immer undefiniert, HTTP-Datei hochladen

WebApp.connectHandlers.use("/api/v1/upload", function(req, res, next) { 
    console.log(req.files); //undefined 
    console.log(req.file); //undefined 
    console.log(req); 
}) 

Ich habe versucht, mit WebApp zu laden, aber bekommen undefined Datei Eigenschaft unter Anfrage Objekt

Ich habe auch versucht mit Multer und Picker aber kein Glück.

const _multerInstanceConfig = { dest: '/tmp' }; // Temp dir for multer 
const _multerInstance = multer(_multerInstanceConfig); 

Picker.middleware(_multerInstance.single('photo')); 
Picker.route('/api/v1/upload', function(params, req, res, next) { 
    console.log(req.files); //undefined 
    console.log(req.file); //undefined 
    console.log(req); 
}) 

Dies ist einfachste Form Ich versuche zu laden ist

<form action="http://localhost:3000/api/v1/upload" method="POST" enctype="multipart/form-data"> 
    <input type="file" name="file" /> 
    <input type="submit" value="Upload File" /> 
</form> 

Fehle ich etwas hier? nicht sicher. Ich möchte auch keine Dateien mit Base64 Daten String über DDP hochladen, da es sehr langsam ist.

Ich habe Überprüfung paar Link auch ohne Glück
multer - req.file always undefined
https://github.com/noris666/Meteor-Files-POST-Example

PS: Ich brauche Bilder über native Android/iOS-Clients zu laden.

Antwort

0

Danke, jeder, der seine Zeit auf meine Frage verbracht hat, habe ich die Lösung für das Problem von Git issue, hob ich auf. Ich poste hier meine Lösung, wenn jemand anderes auch das ähnliche Problem hat.

Es war wegen des Namens dieses Eingabefeldes

<input type="file" name="file" /> 

, die nicht mit

Picker.middleware(_multerInstance.single('photo')); 

Wechsel entweder von ihnen passt zu wird es perfekt funktioniert.

Verwandte Themen