无法从React中的File对象获取属性大小

时间:2018-12-15 23:10:21

标签: javascript reactjs

输入的是文件,我可以登录将文件作为控制台

console.log(file.size)

它给了我

File(3987) {name: "download.jpeg", lastModified: 1544914267262, lastModifiedDate: Sat Dec 15 2018 14:51:07 GMT-0800 (Pacific Standard Time), webkitRelativePath: "", size: 3987, …}
lastModified: 1544914267262
lastModifiedDate: Sat Dec 15 2018 14:51:07 GMT-0800 (Pacific Standard Time) {}
name: "download.jpeg"
size: 3987
type: "image/jpeg"
webkitRelativePath: ""
__proto__: File

但是我什么时候console.log(e.target.files[0].size)

它甚至不发射。

按要求的完整代码。文件来自<input onChange={(e)=>{this.handChangeFile(e.target.files[0])}}/>

this.handleChangeFile = (file) => {

  console.log(typeof file)


 this.setState({ thefile: file })
  let fileData = new FileReader();

  fileData.readAsDataURL(file);
  fileData.onloadend = () => {
    imageBase64 = fileData.result
    if (this.state.first == true) {
      this.setState({ binary: imageBase64, hide_stock: !this.state.hide_stock, first: false }, () => {

      })
    }
    else
      this.setState({ binary: imageBase64 }, () => {

      })
  }

}

1 个答案:

答案 0 :(得分:0)

这是我在jsfiddle上的解决方案

使用jQuery:https://jsfiddle.net/huynhsamha/dqLv83zr/

使用React:https://jsfiddle.net/huynhsamha/23fv1te5/

他们俩都在工作。您可以分享您的代码为何不起作用的原因吗?

jQuery

<script async src="//jsfiddle.net/huynhsamha/dqLv83zr/embed/js,html,css,result/dark/"></script>

反应

<script async src="//jsfiddle.net/huynhsamha/23fv1te5/embed/js,html,css,result/dark/"></script>