javascript - 如何在React JS中获取文件的文件长度

标签 javascript reactjs file

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

enter image description here

我用过的条件:

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

最佳答案

您要上传的每个文件都有文件大小属性,您可以获取该属性的 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 文件大小。

关于javascript - 如何在React JS中获取文件的文件长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53320673/

相关文章:

java - 在 Java 中有效地将文件从 URL 读取到 byte[]

javascript - 如何使用 jquery 缓慢地设置 div 的宽度动画

javascript - 切换复选框值

javascript - Angular 2 的响应式图库插件?

javascript - C3 和 React - DOMException

c# - 模仿 File.Move 如果目的地已经存在

c - 打印问题

javascript - Web 客户端缓存

reactjs - 如何向授权用户隐藏部分 react.js 应用程序?

reactjs - 为什么 chrome 开发工具控制台会在一个网站上显示 Post 500 错误的链接,而在另一个网站上却没有?