#flutter #dart
#flutter #dart
Вопрос:
Я хочу ограничить пользователя в выборе изображения размером более 1 МБ. Я получил путь к изображению с помощью пакета imagepicker flutter, но не могу получить размер изображения, например, в КБ или МБ. пожалуйста, помогите кому-нибудь.
Заранее спасибо Суров Бхаттачарджи
Ответ №1:
Убедитесь, что у вас есть доступ для чтения файлов, и вы можете использовать следующую служебную функцию, которая применяется ко всем типам файлов, включая изображения
checkFileSize(path) {
var fileSizeLimit = 1024;
File f = new File(path);
var s = f.lengthSync()
print(s); // returns in bytes
var fileSizeInKB = s / 1024;
// Convert the KB to MegaBytes (1 MB = 1024 KBytes)
var fileSizeInMB = fileSizeInKB / 1024;
if(fileSizeInKB > fileSizeLimit) {
print("File size greater than the limit");
return false;
} else {
print("file can be selected");
return true;
}
}
Ответ №2:
Вы можете использовать следующую функцию, чтобы получить размер изображения: Im.Image image = Im.decodeImage(ImageFile.readAsBytesSync()); А затем поместить его в простой оператор if-else.