2016-07-04 11 views
-1

Hi Ich möchte ein Foto machen und es auf meinen Server hochladen. Hier ist mein nativescript Code unten enter image description hereUrabschrift hochladen Bild

Und hier ist der Code für die Anforderung ich zugreife das Bild enter image description here

hochladen Nachdem ich meine app laufen und nehmen Sie Bild, um es an den Server zu senden. Der Server gibt eine Fehlermeldung wie dieser enter image description here

Hinweis: Dies ist der Header ich für die nativescript App verwendet

var headers = {"Content-Type": "multipart/form-data"} 

Auch in nativescript wird ein Verfahren createReadStream() für das Datei-System-Modul ?

+0

Siehe: http: // Stackoverflow .com/questions/37932936/nativescript-send-camera-capture-to-server – Nathanael

+0

Hey @Nathanael hat Ihre Methode ausprobiert, aber es scheint, dass der Server einen Fehler anzeigt, der besagt, dass application/base64 auch ein schlechter Content-Typ ist ole.log (files.avatar) wirft immer noch undefined :( –

+0

Auf der Server-Seite müssen Sie un-base64 es. Das Bild wird als Base64-Textdatei mit meiner Methode übertragen. – Nathanael

Antwort

0

Sie können nativescript-background-http Plugin verwenden. Hier ist, wie Sie es verwenden,

var bghttp = require("nativescript-background-http"); 
var session = bghttp.session("image-upload"); 

// save the image somewhere 
var folder = fs.knownFolders.documents(); 
var pathOfImage = fs.path.join(folder.path, "Test.png"); 
var saved = image.saveToFile(pathOfImage,".png"); 
var request = 
     url : uploadPhotoUrl, 
     method : "POST", 
     headers : { 
      "Content-Type" : "application/octet-stream" 
     } 
    }; 
var task = session.uploadFile(pathOfImage,request); 

EDIT

On Back-End (NodeJS + Express) können Sie Middleware-Funktion implementieren und verwenden Sie diese:

var rawParser = bodyParser.raw({ 
    type: 'application/octet-stream', extended: true 
}); 

app.post("/photoUpload",rawParser,function(req,res){ 
var path = "uploads/test.jpg"; 
var file = fs.writeFileSync(path,req.body); 
}); 
+1

Versucht nativescript-Hintergrund-http es funktioniert immer noch Server wirft immer noch undefined :( –

+0

Ich habe Backend Code Swell hinzugefügt –

+1

Wie erhalten Sie den Pfad zu dem Bild mit dem Kamera-Modul? –