如何在react js中获取文件的文件长度

Nid*_*mar 3 javascript file reactjs

我正在使用文件上传,因为我添加了验证,如果没有文件,则显示错误消息。我能够获取文件长度,但是当页面刷新时我也能获取图像。我不知道如何从中获取文件长度。任何人都可以帮我解决这个问题吗?提前致谢。

在此输入图像描述

我所使用的条件:

    if (!values.profilePicture) {
    errors.profilePicture = 'Employee Image Required';
  } else if (values.profilePicture && values.profilePicture.length === 0) {
    console.log('values.profilePicture.length', Object.keys(values.profilePicture).length);
    errors.profilePicture = 'Employee Image Required';
  }
Run Code Online (Sandbox Code Playgroud)

小智 9

您要上传的每个文件都有文件大小属性,您可以获取该属性onChange事件。

<input type="file" accept="image/*" id="profilePic" onChange={(e)=>this.uploadImage(e)}>
Run Code Online (Sandbox Code Playgroud)

uploadImage功能应该像

uploadImage=(e)=>{
  let file = e.target.files[0];
    if (file && !file.name) {
       window.alert("Please select a file");
       return false;
    }
    if (file.size > 10e6) {
      window.alert("Please upload a file smaller than 10 MB");
      return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

注意:10e6 是 10mb 文件大小。