ich kenne den Schmerz nicht hochladen zu können. ein einziges Foto Nach schlaflosen Nächten und Tagen der Forschung, habe ich es endlich mit der Cordova-Datei Transfer-Plugin
Diese Lösung Uint8Array oder Blobs Unterstützung nicht erfordert;)
Fügen Sie zunächst das Plugin: cordova plugin add org.apache.cordova.file-transfer
Dann diesen Code verwenden (Beachten Sie, dass ich Angularjs verwende. Entweder verwende keine Versprechungen oder verwende eine Bibliothek wie rsvp oder Q, um deine Versprechen zu halten):
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;
}
Ich habe auch danach gesucht. Die nächste Sache, die ich herausfinden kann, ist, das Bild vorübergehend auf deinem Server zu speichern, das Bild zu einem Album zu liefern und dann das Foto zu löschen, da, sobald das Bild auf Facebook ist, das Quellbild nicht länger notwendig ist. Ich freue mich aber darauf, was andere finden. –
Dieser arbeitete für mich: http://facebook.stackoverflow.com/a/16439233/1472477 –