我有一个名为 FileReader JS 的文件,filesize.js
其中包含getsize()
在发布表单之前检查图像文件大小以进行客户端验证的函数。
<script type="text/javascript" src="js/filesize.js"></script>
文件大小.js:
function getsize(){
var oFile = document.getElementById("file").files[0]; // input box with type file;
var reader = new FileReader();
reader.onload = function (e) {
console.log(e.total); // file size
};
reader.readAsDataURL(oFile );
fileSize = oFile.size;
}
该函数在选择要上传的文件但在使用onchange
输入标签发布表单之前运行。
<input type='file' name='file' id='file' onchange='getsize();' />
这将获取当前选择的上传文件的大小,因为一次只能上传一张图像。我遇到的问题getsize()
是异步的,无论我尝试了什么,我都无法将变量传递fileSize
给一个单独的同步验证函数validate()
,该函数需要在发布表单之前单独运行onsubmit
。
<form name='add' action='process.php' method='post'
enctype='multipart/form-data' onsubmit='return validate()'>
validate()
在允许表单发布和上传图像之前检查几个不同的因素。其中之一是验证当前所选图像的文件大小是否在 512KB 以下。任何帮助将不胜感激谢谢。