Ant-design: Upload-Komponente: Überprüfen Sie vor dem Hochladen vor dem Hochladen, ob Probleme vorliegen

Erstellt am 29. Dez. 2017  ·  7Kommentare  ·  Quelle: ant-design/ant-design

Ausführung

3.0.3

Umgebung

win7, chrome63.0.3239.84

Reproduktionslink

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

Schritte zum Reproduzieren

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

}}

Was wird erwartet?

Beim Hochladen von Fotos im falschen Format wird angezeigt, dass das Format falsch ist, aber kein Effekt angezeigt wird

Was passiert eigentlich?

Beim Hochladen von Fotos im falschen Format wird angezeigt, dass das Format falsch ist. Auf der Benutzeroberfläche wird jedoch "Datei hochladen" angezeigt.

Inactive 🐛 Bug

Hilfreichster Kommentar

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

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

};
Auf diese Weise wird verhindert, dass die Fehlerdatei zur Dateiliste hinzugefügt wird.

Alle 7 Kommentare

Es ist besser, Ihre Ausgabe / Ihren Kommentar auf Englisch zu schreiben, damit mehr Menschen Sie verstehen können.
Dies bedeutet, dass mehr Menschen Ihnen helfen oder von Ihrem Problem / Kommentar profitieren können.
Siehe: https://github.com/ant-design/ant-design/issues/4897

Dies liegt daran, dass es ein Problem mit der Rückrufmethode onChange gibt. Sie kann nicht so geschrieben werden

Ich denke, es ist ein Problem. Wenn beforeUpload falsch ausgeführt wird, sollte file Objekt im Rückruf onChange ein Recht geben status .

und wenn Sie Promise verwenden, wird durch Ablehnen nicht onChange ausgelöst, sondern false zurückgegeben!

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

Duplikat von # 8020

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

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

};
Auf diese Weise wird verhindert, dass die Fehlerdatei zur Dateiliste hinzugefügt wird.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen