3.0.3 рд╣реИ
win7, chrome63.0.3239.84
https://codepen.io/LynnHg/pen/YYZdRV
handleBeforeUpload (рдлрд╝рд╛рдЗрд▓) {
const sizeOk = file.size <1024 * 300;
const typeOk =
file.type === 'image / jpeg' ||
file.type === 'рдЫрд╡рд┐ / рдкреАрдПрдирдЬреА' ||
file.type === 'рдЫрд╡рд┐ / 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
рдкреНрд░рддрд┐рдлрд▓ рдЭреВрдареЗ рд╣реЛрддреЗ рд╣реИрдВ, рдХреЙрд▓рдмреИрдХ рдореЗрдВ file
рд╡рд╕реНрддреБ onChange
рд╕рд╣реА status
рджреЗрдиреА рдЪрд╛рд╣рд┐рдПред
рдФрд░ рдЕрдЧрд░ рдкреНрд░реЛрдорд┐рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ onChange
рдЯреНрд░рд┐рдЧрд░ рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рди рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдЧрд▓рдд рдХрд░рддрд╛ рд╣реИ!
if (!typeOk) {
message.error('чЕзчЙЗца╝х╝ПцЬЙшппя╝Б');
return false
}
if (!sizeOk) {
message.error('чЕзчЙЗхдзх░Пш╢Еш┐З300Kя╝Б');
return false
}
return true;
# 8020 рдХрд╛ рдбреБрдкреНрд▓реАрдХреЗрдЯ
рдкрд╣рд▓реЗ рд▓реЛрдб (рдлрд╝рд╛рдЗрд▓) {
const maxFileSize = 2;
constLLMax = file.size / 1024/1024 <maxFileSize;
return new Promise((resolve, reject) => {
if(!isLtMax) {
reject(file);
} else {
resolve(file);
}
});
};
рдЗрд╕ рддрд░рд╣ рд╕реЗ рддреНрд░реБрдЯрд┐ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдлрд╝рд╛рдЗрд▓рд▓рд┐рд╕реНрдЯ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рд░реЛрдХрд╛ рдЬрд╛ рд╕рдХреЗрдЧрд╛ред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдкрд╣рд▓реЗ рд▓реЛрдб (рдлрд╝рд╛рдЗрд▓) {
const maxFileSize = 2;
constLLMax = file.size / 1024/1024 <maxFileSize;
};
рдЗрд╕ рддрд░рд╣ рд╕реЗ рддреНрд░реБрдЯрд┐ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдлрд╝рд╛рдЗрд▓рд▓рд┐рд╕реНрдЯ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рд░реЛрдХрд╛ рдЬрд╛ рд╕рдХреЗрдЧрд╛ред