3.0.3
win7, chrome63.0.3239.84
https://codepen.io/LynnHg/pen/YYZdRV
handleBeforeUpload (file) {
const sizeOk = file.size <1024 * 300;
const typeOk =
file.type === 'image / jpeg'||
file.type === 'image / png'||
file.type === '์ด๋ฏธ์ง / bmp'||
file.type === '์ด๋ฏธ์ง / 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๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฑฐ๋ถ๋ onChange
ํธ๋ฆฌ๊ฑฐํ์ง ์์ง๋ง false๋ฅผ ๋ฐํํฉ๋๋ค!
if (!typeOk) {
message.error('็
ง็ๆ ผๅผๆ่ฏฏ๏ผ');
return false
}
if (!sizeOk) {
message.error('็
ง็ๅคงๅฐ่ถ
่ฟ300K๏ผ');
return false
}
return true;
# 8020๊ณผ ์ค๋ณต
beforeUpload (ํ์ผ) {
const maxFileSize = 2;
const isLtMax = file.size / 1024/1024 <maxFileSize;
return new Promise((resolve, reject) => {
if(!isLtMax) {
reject(file);
} else {
resolve(file);
}
});
};
์ด๋ ๊ฒํ๋ฉด ์ค๋ฅ ํ์ผ์ด fileList์ ์ถ๊ฐ๋์ง ์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
beforeUpload (ํ์ผ) {
const maxFileSize = 2;
const isLtMax = file.size / 1024/1024 <maxFileSize;
};
์ด๋ ๊ฒํ๋ฉด ์ค๋ฅ ํ์ผ์ด fileList์ ์ถ๊ฐ๋์ง ์์ต๋๋ค.