【问题标题】:How to get the file length for an file in react jsreactjs中如何获取文件的文件长度
【发布时间】:2019-04-18 15:04:00
【问题描述】:

我正在使用文件上传,如果没有文件,我添加了验证,然后显示错误消息。我能够获取文件长度,但是当页面刷新时,我也得到了图像。我不知道如何从中获取文件长度。谁能帮我解决这个问题提前谢谢。

我使用的条件:

    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';
  }

【问题讨论】:

  • values.profilePicture.length 不起作用?
  • @Smarticles101 它最初可以工作,但是当我刷新时它不起作用
  • 您可以尝试检查values.profilePicture[0] 是否存在?

标签: javascript reactjs file


【解决方案1】:

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

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

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;
    }
}

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-31
    • 2013-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-04
    • 1970-01-01
    相关资源
    最近更新 更多