Nativescript ImageSource toBase64String выводит null - PullRequest
0 голосов
/ 28 августа 2018

Я столкнулся с ошибкой в ​​эмуляторе IOS со следующей функцией при попытке преобразовать путь изображения в строку base64:

imageUploaded(imagePath): void {
  console.log(imagePath);
  this.newImage = new ImageSource();
  this.newImage.fromFile(imagePath)
    .then((success) => {
      if (success) {
        const base64 = this.newImage.toBase64String("jpeg", 100);
        console.log(base64);
      }
    });
}

Вывод двух консольных журналов:

Файл: ///Users/coffee-pot/Library/Developer/CoreSimulator/Devices/F0AE2C35-079B-4D8B-AE57-24A3A9A7F931/data/Media/DCIM/100APPLE/IMG_0006.PNG

и

нуль

Я так долго занимался этим и не могу понять: /

Заранее благодарим за подсказки.

редактировать Следующая функция - это та, которая загружает изображение и генерирует событие с путем к файлу

uploadImage() {
const milliseconds = new Date().getTime();
this.context.authorize()
.then(() => {
  return this.context.present();
})
.then((selection) => {
  selection.forEach((selected) => {
    const ios = selected.ios;
    if (ios && ios.mediaType === PHAssetMediaType.Image) {
      const opt = PHImageRequestOptions.new();
      opt.version = PHImageRequestOptionsVersion.Current;
      PHImageManager.defaultManager()
      .requestImageDataForAssetOptionsResultHandler(ios, opt,
        (imageData: NSData, dataUTI: string,
         orientation: UIImageOrientation, info: NSDictionary < any, any >) => {
            const folder = fileSystemModule.knownFolders.documents();
            const path = fileSystemModule.path.join(folder.path, milliseconds + ".png");
            this.newImage = info.objectForKey("PHImageFileURLKey").toString();
            this.imagePath.emit(this.newImage);
          });
        }
      });
    });
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...