Я создаю мобильное приложение с Cordova/PhoneGap и IonicFramework (используя AngularJS). В приложении пользователь может нарисовать свою подпись на холсте (https://github.com/szimek/signature_pad< /а>). В настоящее время холст сохраняется как DataURL:
data:image/png;base64,iVBORw0KGgoAAAANS ...
Когда подпись сохранена, я хочу отправить изображение на сервер с помощью плагина FileTransfer
от Cordova (http://docs.phonegap.com/en/3.1.0/cordova_file_file.md.html#FileTransfer).
Я уже делаю это для обычных изображений, снятых с камеры, и это прекрасно работает. Это моя функция загрузки:
function uploadPicture(fileURL) {
var win = function (result) {
console.log('Success!');
}
var fail = function (err) {
console.log('Fail!');
}
var options = new FileUploadOptions();
options.fileKey = 'file';
options.fileName = fileURL.substr(fileURL.lastIndexOf('/') + 1);
options.mimeType = 'image/jpeg';
options.chunkedMode = true;
options.params = {};
var ft = new FileTransfer();
ft.upload(fileURL, encodeURI('http://example.com/upload/'), win, fail, options);
}
Теперь, как вы видите, fileURL
— это полный путь к файлу. Я понял, что когда я каким-то образом преобразую dataURL в фактическое изображение, я могу использовать плагин (не уверен на 100%, что это исправит).
Это возможно как-то? Я много искал, но не нашел ничего полезного. В большинстве примеров речь идет об отправке URL-адреса данных на сервер и предоставлении серверу возможности обрабатывать его, но я этого не ищу.
Любые мысли/идеи/помощь в этом? Я надеюсь, что то, что я хочу, возможно!