Ho cercato di ottenere ngFileUpload funzionante in modo che possa caricare immagini e averli inviati a un DB-nel mio caso un mongoLab DB che accetta oggetti JSON che possono essere POST
con una sintassi come questa:AngularJS Caricare un file e inviarlo a un DB
$http.post('myMongoName/myDb/myCollection/myTable', {'key': 'value'})
Abbastanza semplice. Tuttavia, sono confuso su come inviare le immagini caricate usando ngFileUpload
nel DB. Sto utilizzando la sintassi familiare introdotto sulla pagina di documentazione di ngFileUpload:
$scope.upload = function (files) {
if (files && files.length) {
for (var i = 0; i < files.length; i++) {
var file = files[i];
console.log(file);
Upload.upload({
url: myMongoLabURL,
fields: {'sup': 'sup'},
file: file
})
}).success(function (data, status, headers, config) {
console.log('file ' + config.file.name + 'uploaded. Response: ' + data);
});
}
}
}
Ma, al momento la registrazione l'oggetto file
fuori, ottengo l'oggetto:
File {}
$$hashKey: "object:76"
lastModified: 1433922719000
lastModifiedDate: Wed Jun 10 2015 00:51:59 GMT-0700 (PDT)
name: "1.png"
size: 138024
type: "image/png"
webkitRelativePath: ""
__proto__: File
Nessuno dei quali, contengono il binario immagine reale che potrebbe essere memorizzato nel DB. In sostanza non ho idea di dove sia effettivamente caricata l'immagine stessa!
È anche importante notare che non ricevo una risposta dal server con questa sintassi, anche se, se potessi ottenere il file binario dell'immagine, potrei semplicemente usare il familiare metodo $http.post
e inserire l'immagine nel DB da solo.
Come posso trovare il file binario dell'immagine caricata e inserirlo nel DB? Dove esiste l'immagine, dopo essere stata caricata, e dove viene caricata? Sto facendo tutto questo su localhost
quindi sembra che il browser abbia letto tutte le proprietà dell'immagine, ma non sono sicuro di come trasformarlo in informazioni significative che posso usare per memorizzare l'immagine nel mio DB esterno.
Grazie per qualsiasi aiuto.
Che cosa ottieni dal lato server. Stai registrando il corpo della richiesta? – dcodesmith
Ho abilitato questo lato-github.com/danialfarid/ng-file-upload/wiki/Node-example-server, anche se non sono sicuro del motivo per cui devo abilitare qualcosa lato server quando voglio inviare la richiesta POST in modo ottimale al DB esterno (mongolab). Ad ogni modo, ho fatto il logout del file e ho ottenuto un sacco di proprietà, anche se non vedo ancora il file stesso. Grazie per l'aiuto. –
@nikkwong Qualche soluzione per la domanda ?? Sto anche ricevendo il file: {} quando lo passo nella richiesta di posta. Si prega di suggerire la risposta. – Developer