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