3.0.3
win7, chrome63.0.3239.84
https://codepen.io/LynnHg/pen/YYZdRV
handleBeforeUpload (arquivo) {
const sizeOk = file.size <1024 * 300;
const typeOk =
file.type === 'image / jpeg' ||
file.type === 'image / png' ||
file.type === 'image / bmp' ||
file.type === 'imagem / gif';
if (!typeOk) {
message.error('照片格式有误!');
} else {
if (!sizeOk) {
message.error('照片大小超过300K!');
}
}
return sizeOk && typeOk;
}
Ao enviar fotos no formato errado, ele informa que o formato está errado, mas nenhum efeito é exibido
Ao enviar fotos no formato errado, ele informa que o formato está errado, mas a interface exibe "Upload de arquivo"
Será melhor escrever seu problema / comentário em inglês, para que mais pessoas possam entendê-lo.
E isso significa que mais pessoas podem ajudá-lo ou se beneficiar de seu problema / comentário.
Veja: https://github.com/ant-design/ant-design/issues/4897
Isso ocorre porque há um problema com o método de retorno de chamada de onChange
, ele não pode ser escrito assim
Eu acho que é um problema, quando beforeUpload
retrun false, file
object no callback onChange
deve dar um direito status
.
e se usar Promise, rejeitar não irá disparar onChange
, mas retornar false irá!
if (!typeOk) {
message.error('照片格式有误!');
return false
}
if (!sizeOk) {
message.error('照片大小超过300K!');
return false
}
return true;
Duplicado de # 8020
beforeUpload (arquivo) {
const maxFileSize = 2;
const isLtMax = file.size / 1024/1024 <maxFileSize;
return new Promise((resolve, reject) => {
if(!isLtMax) {
reject(file);
} else {
resolve(file);
}
});
};
Dessa forma, evitará que o arquivo de erro seja adicionado à fileList.
Comentários muito úteis
beforeUpload (arquivo) {
const maxFileSize = 2;
const isLtMax = file.size / 1024/1024 <maxFileSize;
};
Dessa forma, evitará que o arquivo de erro seja adicionado à fileList.