Ant-design: Télécharger le composant: vérifiez les problèmes avant de télécharger avant

Créé le 29 déc. 2017  ·  7Commentaires  ·  Source: ant-design/ant-design

Version

3.0.3

Environnement

win7, chrome63.0.3239.84

Lien de reproduction

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

Étapes à suivre pour reproduire

handleBeforeUpload (fichier) {
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;

}

Qu'attend-on?

Lors du téléchargement de photos au mauvais format, cela indique que le format est incorrect, mais aucun effet ne s'affiche

Que se passe-t-il réellement?

Lors du téléchargement de photos dans le mauvais format, cela indique que le format est incorrect, mais l'interface affiche "Téléchargement de fichier"

Inactive 🐛 Bug

Commentaire le plus utile

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

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

};
De cette façon, le fichier d'erreur ne s'ajoute pas à la fileList.

Tous les 7 commentaires

Il sera préférable d'écrire votre problème / commentaire en anglais, afin que plus de gens puissent vous comprendre.
Et cela signifie que davantage de personnes peuvent vous aider ou bénéficier de votre problème / commentaire.
Voir: https://github.com/ant-design/ant-design/issues/4897

C'est parce qu'il y a un problème avec la méthode de rappel de onChange , il ne peut pas être écrit comme ceci

Je pense que c'est un problème, quand beforeUpload retrun false, file objet dans le rappel onChange devrait donner un droit status .

et si vous utilisez Promise, le rejet ne déclenchera pas onChange , mais le retour faux le fera!

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

Duplicata de # 8020

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

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

};
De cette façon, le fichier d'erreur ne s'ajoute pas à la fileList.

Cette page vous a été utile?
0 / 5 - 0 notes