Я не могу получить размер файла для загрузки с помощью nativescript - PullRequest
0 голосов
/ 11 декабря 2018

Я пытаюсь оценить mime-тип и размер загруженного изображения, используя nativescript-imagepicker.Однако кажется, что сам модуль не может это сделать.Как я могу применить ограничения к файлу, который я загружаю?(Как max size или just png or jpg)

Вот мой код:

 const context = imagepicker.create({ mode: "single" });
    context
        .authorize()
        .then(() => {
            console.log('imagePicker.authorize...');
            return context.present();
        })
        .then((selection) => {
            if (!selection || !selection.forEach) {
                console.log('Error on selection empty or not array:', selection);
                return;
            }
            selection.forEach((selected) => {
                this.processPhoto(selected);
            });
        }).catch((err) => {
         .
         .
         .

Обработка изображения ...

    processPhoto (selectedPhoto: any) {
    console.log('uploading photo to firebase', selectedPhoto);
    this.firebaseService.getImagePickerLocalFilePath(selectedPhoto)
        .then((localFilePath: string) => {
            console.log('about to upload file:', localFilePath);
            return this.firebaseService.uploadFile(localFilePath);
        })
        .catch((err) => {
            this.isLoading = false;
            this.messageService.handleErrorRes(err);
        });
}

1 Ответ

0 голосов
/ 11 декабря 2018

Вам нужно будет прочитать size & extension в файле и запретить загрузку, если они не соответствуют вашим ограничениям.

const file = fileSystemModule.fromPath(localFilePath);
if (file.size <= YOUR_SIZE_LIMIT_IN_BYTES && file.extension.toLowerCase() === "png") {
    // Upload
} else {
   alert("File can't be uploaded");
}
...