2017-05-03 2 views
0

Ich entwerfe eine Webanwendung und Backend-System ist Express + Parse.Server. Zur Zeit bekomme ich das Problem mit dem Speichern des Bildes auf meinem Parse-Server.So speichern Sie das Bild in Parse.com mit Nodejs

Hier ist meine ejs

<html> 

    <head>  
      <title>test</title> 
    </head> 
    <body> 
    <form action='/pictest' method='post'> 
     <h3>test</h3> 

     <input type="file" name="pic" id ="pict" > 
     <input type='submit' value='Submit'>  
     </form> 
    </body> 

</html> 

Datei Und das ist die server.js

router.post('/pictest',function(req,res){ 
    var pic = req.body.pic; 
    console.log(pic); 
    if (pic.length > 0) { 

     var file = new Parse.File("photo.jpg", pic, "image/png"); 

     file.save().then(function() { 
     console.log("file save success"); 
     res.end(); 
     }, function(error) { 
     console.log("file save error " + error.message); 
     }); 

    } 
    res.send('test'); 
}); 

Dieser Fehler ich erhalte, ist:

TypeError: Cannot create a Parse.File with that data. 
    at new ParseFile (C:\Users\Tim\Desktop\example 
\JavascriftLinkParse\node_modules\parse\lib\node\ParseFile.js:131:15) 
    at C:\Users\Tim\Desktop\example\JavascriftLinkParse\routers\index.js:29:15 
    at Layer.handle [as handle_request] (C:\Users\Tim\Desktop\example 
\JavascriftLinkParse\node_modules\express\lib\router\layer.js:95:5) 
    at next (C:\Users\Tim\Desktop\example 
\JavascriftLinkParse\node_modules\express\lib\router\route.js:131:13) 
    at Route.dispatch (C:\Users\Tim\Desktop\example 
\JavascriftLinkParse\node_modules\express\lib\router\route.js:112:3) 
    at Layer.handle [as handle_request] (C:\Users\Tim\Desktop\example 
\JavascriftLinkParse\node_modules\express\lib\router\layer.js:95:5) 
    at C:\Users\Tim\Desktop\example 
\JavascriftLinkParse\node_modules\express\lib\router\index.js:277:22 
    at Function.process_params (C:\Users\Tim\Desktop\example 
\JavascriftLinkParse\node_modules\express\lib\router\index.js:330:12) 
    at next (C:\Users\Tim\Desktop\example 
\JavascriftLinkParse\node_modules\express\lib\router\index.js:271:10) 
    at Function.handle (C:\Users\Tim\Desktop\example 
\JavascriftLinkParse\node_modules\express\lib\router\index.js:176:3) 

Jede Hilfe geschätzt hilfreich wäre. Vielen Dank!

+1

Sie versuchen Haben mit var pic = req.body.pic [0]; ? –

+0

Ich habe versucht, aber es ist nur zeigen zuerst das Wort meines Bildes Name – LaiTing

+0

Hey, haben tou geschafft, das zu lösen? Ich bin in der gleichen Situation .. – bbkrz

Antwort

0

können Sie verwenden multer mit ausdrücklichen

und am Controller

var buffer = req.files.pic[0].buffer; 
var base64 = buffer.toString('base64'); 
var name = "pic_name"; 
var file = new Parse.File(name, { base64: base64 }); 
+0

Hallo, Arturo Ich habe versucht, Ihre Methode zu verwenden und verweisen die multer auszudrücken und es hatte ein anderer Fehler Typeerror: kann Eigenschaft ‚pic‘ undefinierter – LaiTing

+0

lesen Sie multer installiert haben? –

Verwandte Themen