so il dolore di non essere in grado di caricare. una singola foto. Dopo notti insonni e giorni di ricerca, finalmente ho potuto lavorare con il file cordova- Trasferimento plug
questa soluzione non richiede il supporto Uint8Array o Blobs;)
innanzitutto aggiungere il plugin: cordova plugin add org.apache.cordova.file-transfer
Quindi, utilizzare questo codice (si noti che sto usando angular.js. O non usare promesse o usare una libreria come rsvp o Q per fare le tue promesse):
function postImage(fileURI, message) {
var deferred = $q.defer();
var win = function (r) {
deferred.resolve(r);
}
var fail = function (error) {
deferred.reject(error);
}
var options = new FileUploadOptions();
options.fileKey = "file";
options.fileName = 'name_of_photo_' + Math.round((+(new Date()) + Math.random()));
options.mimeType = "image/jpg";
var params = new Object();
params.access_token = "your facebook access token ;)";
params.message = message;
params.no_story = false;
options.params = params;
var ft = new FileTransfer();
ft.upload(fileURI, "https://graph.facebook.com/v2.0/me/photos", win, fail, options);
return deferred.promise;
}
Ho cercato anche questo. La cosa più vicina che riesco a capire è di salvare temporaneamente l'immagine sul tuo server, servire l'immagine a un album, e quindi eliminare la foto, poiché, una volta che l'immagine è su Facebook, l'immagine di origine non è più necessaria. In attesa di ciò che gli altri trovano, però. –
Questo ha funzionato per me: http://facebook.stackoverflow.com/a/16439233/1472477 –