Ant-design: コンポーネントのアップロード:アップロードする前に問題を確認してください

作成日 2017年12月29日  ·  7コメント  ·  ソース: ant-design/ant-design

バージョン

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 === 'image / bmp' ||
file.type === 'image / gif';

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

return sizeOk && typeOk;

}

何が期待されますか?

間違った形式で写真をアップロードすると、形式が間違っているというプロンプトが表示されますが、効果は表示されません

実際に何が起こっているのですか?

間違った形式で写真をアップロードすると、形式が間違っているというプロンプトが表示されますが、インターフェイスに「ファイルのアップロード」と表示されます

Inactive 🐛 Bug

最も参考になるコメント

beforeUpload(ファイル){
const maxFileSize = 2;
const isLtMax = file.size / 1024/1024 <maxFileSize;

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

};
このようにして、エラーファイルがfileListに追加されるのを防ぎます。

全てのコメント7件

より多くの人があなたを理解できるように、あなたの問題/コメントを英語で書く方が良いでしょう。
そしてこれは、より多くの人々があなたを助けたり、あなたの問題/コメントから利益を得ることができることを意味します。
参照: https

これは、 onChangeのコールバックメソッドに問題があるため、次のように記述できないためです。

これは問題だと思います。 beforeUpload falseを再実行すると、コールバックonChange fileオブジェクトが正しい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に追加されるのを防ぎます。

このページは役に立ちましたか?
0 / 5 - 0 評価