Ant-design: Componente de carga: compruebe si hay problemas antes de cargar antes de cargar

Creado en 29 dic. 2017  ·  7Comentarios  ·  Fuente: ant-design/ant-design

Versión

3.0.3

Medio ambiente

win7, cromo63.0.3239.84

Enlace de reproducción

https://codepen.io/LynnHg/pen/YYZdRV

pasos para reproducir

handleBeforeUpload (archivo) {
const sizeOk = file.size <1024 * 300;
const typeOk =
file.type === 'imagen / jpeg' ||
file.type === 'imagen / png' ||
file.type === 'imagen / bmp' ||
file.type === 'imagen / gif';

if (!typeOk) {
  message.error('照片格式有误!');
} else {
  if (!sizeOk) {
    message.error('照片大小超过300K!');
  }
}

return sizeOk && typeOk;

}

¿Lo que es esperado?

Al cargar fotos en el formato incorrecto, indica que el formato es incorrecto, pero no se muestra ningún efecto

¿Qué está pasando realmente?

Al cargar fotos en el formato incorrecto, indica que el formato es incorrecto, pero la interfaz muestra "Carga de archivo"

Inactive 🐛 Bug

Comentario más útil

beforeUpload (archivo) {
const maxFileSize = 2;
const isLtMax = file.size / 1024/1024 <maxFileSize;

return new Promise((resolve, reject) => {
  if(!isLtMax) {
    reject(file);
  } else {
    resolve(file);
  }
});

};
De esta forma evitará que el archivo de error se agregue a fileList.

Todos 7 comentarios

Será mejor que escriba su problema / comentario en inglés, para que más personas puedan entenderlo.
Y esto significa que más personas pueden ayudarlo o beneficiarse de su problema / comentario.
Ver: https://github.com/ant-design/ant-design/issues/4897

Esto se debe a que hay un problema con el método de devolución de llamada de onChange , no se puede escribir así

Creo que es un problema, cuando beforeUpload retrun falso, file objeto en la devolución de llamada onChange debería dar un status correcto.

y si usa Promise, el rechazo no activará onChange , ¡pero devolver falso sí!

if (!typeOk) {
   message.error('照片格式有误!');
   return false
} 
if (!sizeOk) {
    message.error('照片大小超过300K!');
    return false
}
return true;

Duplicado de # 8020

beforeUpload (archivo) {
const maxFileSize = 2;
const isLtMax = file.size / 1024/1024 <maxFileSize;

return new Promise((resolve, reject) => {
  if(!isLtMax) {
    reject(file);
  } else {
    resolve(file);
  }
});

};
De esta forma evitará que el archivo de error se agregue a fileList.

¿Fue útil esta página
0 / 5 - 0 calificaciones