3.0.3
win7, хром63.0.3239.84
https://codepen.io/LynnHg/pen/YYZdRV
handleBeforeUpload (файл) {
const sizeOk = file.size <1024 * 300;
const typeOk =
file.type === 'image / jpeg' ||
file.type === 'image / png' ||
file.type === 'image / bmp' ||
file.type === 'image / gif';
if (!typeOk) {
message.error('照片格式有误!');
} else {
if (!sizeOk) {
message.error('照片大小超过300K!');
}
}
return sizeOk && typeOk;
}
При загрузке фотографий в неправильном формате выводится сообщение, что формат неправильный, но никакого эффекта не отображается
При загрузке фотографий в неправильном формате отображается сообщение о неправильном формате, но в интерфейсе отображается «Загрузка файла».
Лучше писать проблему / комментарий на английском, чтобы больше людей вас понимали.
А это значит, что больше людей могут помочь вам или получить пользу от вашего вопроса / комментария.
См .: https://github.com/ant-design/ant-design/issues/4897
Это связано с тем, что существует проблема с методом обратного вызова onChange
, его нельзя записать так
Я думаю, что это проблема. Когда beforeUpload
retrun false, file
объект в обратном вызове onChange
должен дать право status
.
и если использовать Promise, reject не вызовет onChange
, но return false сделает!
if (!typeOk) {
message.error('照片格式有误!');
return false
}
if (!sizeOk) {
message.error('照片大小超过300K!');
return false
}
return true;
Дубликат № 8020
beforeUpload (файл) {
const maxFileSize = 2;
const isLtMax = размер файла / 1024/1024 <maxFileSize;
return new Promise((resolve, reject) => {
if(!isLtMax) {
reject(file);
} else {
resolve(file);
}
});
};
Таким образом вы предотвратите добавление файла с ошибкой в список файлов.
Самый полезный комментарий
beforeUpload (файл) {
const maxFileSize = 2;
const isLtMax = размер файла / 1024/1024 <maxFileSize;
};
Таким образом вы предотвратите добавление файла с ошибкой в список файлов.