Как узнать, является ли ImageSource файлом в формате jpg или png - PullRequest
0 голосов
/ 05 февраля 2019

Мое приложение позволяет пользователям загружать изображение профиля из приложения на мой сервер.Он отлично работает для файлов .png, но не работает для файлов .jpg.

Что я делаю:

  1. Используйте ImagePicker, чтобы позволить пользователю выбирать изображения.
  2. отображать доступные изображения для пользователя.
  3. сохранять выбранное изображение локально, когда пользователь нажимает сохранить
  4. загрузить изображение в облаке

Проблема на этапе3, я не знаю, как узнать, следует ли сохранить файл в формате png или jpg.

    startSelection(context: ImagePicker) {
        context
            .authorize()
            .then(() => {
                return context.present();
            })
            .then(selection => {
                selection.forEach(selectedItem => {
                    ImageSource.fromAsset(selectedItem).then(imageSource => {
                        this.imageUrls.push(imageSource);
                        this.selectedUrlIndex = this.imageUrls.length - 1;
                    });
                });
            })
            .catch(err => {
                // ...
            });
    }
    onSave(): void {
        const folder = fs.knownFolders.documents();
        const path = fs.path.join(folder.path, 'avatar.png');
        const saved = this.getSelectedAvatar().saveToFile(path, 'png');

        this.userService
            .sendImages(path)
            .then(() => {
                // ...
            });
    }

Моя проблема в этой строке this.getSelectedAvatar().saveToFile(path, 'png');, getSelectedAvatar возвращает ImageSource

1 Ответ

0 голосов
/ 05 февраля 2019

Глядя на документы по методу "saveToFile" , я не думаю, что это имеет значение, что это было.Вы можете попробовать выбрать jpeg и посмотреть, хорошо ли он сохраняется как png (или наоборот).

(обновление) Поскольку этот комментарий в исходном коде говорит, что ImageSource может быть либоUIImage for iOS and android.graphics.Bitmap for Android, вы должны иметь возможность сохранять в любом формате, который вы предпочитаете, независимо от ввода.Вы также можете использовать поле ios или android из ImageSource для получения дополнительной информации об изображении (см. Эту ссылку) .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...