javascript没有获得正确的图像宽度和高度

javascript没有获得正确的图像宽度和高度,javascript,html,Javascript,Html,我已经添加了多个图像上传到我的网站使用HTML api的。我必须在上传时测试每个图像,无论它们是高(高度>宽度)还是长(高度) 函数文件处理(文件) { var shape=document.getElementById('shapeval').value; 对于(var i=0;i

我已经添加了多个图像上传到我的网站使用HTML api的。我必须在上传时测试每个图像,无论它们是高(高度>宽度)还是长(高度)

函数文件处理(文件)
{
var shape=document.getElementById('shapeval').value;
对于(var i=0;i
HTML


使用此代码显示宽度和高度,但它们的值不正确。大多数情况下,这两种类型的图像都显示182和51;因此我无法识别图像是高还是长?我哪里出错了?我是否遗漏了什么?有人知道吗


谢谢!

据我所知,您无法通过Javascript获取要上载的图像的高度或宽度。您需要将其上载到服务器,然后使用PHP(或任何其他服务器端脚本语言)获取有关图像的信息。请尝试PHP函数
getimagesize()
,它应该会为您提供所需的信息


如果您希望以内联方式处理图像并将信息反馈给用户,我建议您使用AJAX提交表单并使用响应数据。

无论天气与否,“形状”都是“高”的。在if/else语句中,您实际上想做什么?toll或long的值实际上来自数据库。我刚刚编辑了它。您为什么试图通过
文档访问图像。图像
?图像位于传递给函数的
文件
对象中,而不是文档中。如果执行
控制台.log()
在您的文件对象上,您会注意到维度不存在-出于安全原因,我不相信javascript可以访问此信息。我实际上正在将所有图像上载到服务器。但我需要确保图像是长还是高。高还是长字段来自数据库。如果数据库值是高,我不需要上传长图片。这就是为什么我需要检查宽度和高度!
<script type="text/JavaScript">
function filesProcess(files) 
{
  var shape=document.getElementById('shapeval').value;
  for( var i = 0; i < files.length; i++) 
    {
        file = files[i];
        if(!file.type.match(/image.*/)) 
            {


            alert('File name '+file.name+' is not allowed! Please try again!');

            window.location.reload(true);

                continue; //Jump forward to the next file...

                }
      else
        { 
                var iw=document.images[i].width;
            var ih=document.images[i].height;
            var n=document.images[i].name;
            if(shape="tall")
                {

                    alert("width:"+iw+" and height:"+ih);
                }
                else
                {

                    alert("width:"+iw+" and height:"+ih);
                }
            continue;
        }

    }


}
 </script>
  <form action="upload.php/" method="post" enctype="multipart/form-data" name="uploadForm" onsubmit="return(validate());">
  <input type="file" id="files" name="files[]" multiple  onchange="filesProcess(this.files);" accept="image/*"/>
   <input type="hidden" name="shapeval" id="shapeval" value="tall" />
  </form>