Ionic - файловый плагин не работает на устройстве

Я пытаюсь преобразовать изображение base64 в файл «.png». Для этого я использую собственный файловый плагин Ionic. Сначала я конвертирую изображение base64 в Blob, а затем конвертирую этот Blob в файл «.png».

При тестировании этого в веб-браузере через «ионную подачу» все работает отлично, но при тестировании на эмуляторе или на физическом устройстве это не работает. Код работает без ошибок, но при попытке выйти из системы для типа или размера файла я получаю 0 для размера и undefined для типа.

  let base64 = this.formData.getParentSignature();

  let signatureBlob = this.getBlob(base64);

  let signatureFileName = firstName+"-"+lastName+"-Parent-"+"Signature.png";

  var blob = new Blob([this.parentSignature], {type: 'image/png'});
  var filePhoto = new File([signatureBlob], signatureFileName);

person KevinDunbar    schedule 02.08.2018    source источник
comment
Надеюсь, вы используете метод this.file.writeFile(fileDirectory, filename, blobdata).   -  person Suresh Kumar Ariya    schedule 02.08.2018
comment
Я загружаю это изображение на сервер через multipart/form-data. Изображение загружается при запуске приложения через веб-браузер, но не работает на реальном устройстве. Я сузил проблему до того, что файл не создается на физическом устройстве. К сожалению, сервер принимает только файлы изображений.   -  person KevinDunbar    schedule 02.08.2018


Ответы (1)


Так что я понял это сам, и я размещаю его здесь на случай, если кто-то еще столкнется с той же проблемой.

  let base64 = this.formData.getParentSignature();

  let signatureBlob = this.getBlob(base64);

  let signatureFileName = firstName+"-"+lastName+"-Parent-"+"Signature.png";

  var blob = new Blob([signatureBlob], {type: 'image/png'});
  var filePhoto = new File([signatureBlob], signatureFileName);

Затем я смог переименовать файл:

  let headers = new Headers();
  headers.append('Content-Type','multipart/form-data');

  let form = new FormData();
  form.append('files', blob, signatureFileName);
person KevinDunbar    schedule 02.08.2018