上傳圖片前判斷圖片的尺寸

這是jsp頁面上的上傳圖片的代碼javascript

<div style="position: relative;width: 370px;">
    	<input type='text' name='textfield' id='textfield' class='txt' style="color:red;" value="圖片規格爲300*100" onfocus="this.value=''" onblur="if(this.value==''){this.value='圖片規格爲300*100'}" />
	<input type='button' class='btn' value='瀏覽...' /> 
	<input type="file" name="largeImg" class="file" id="fileField"
	size="28"onchange="chartPicture(this.id)" />
</div>

方法一:用js進行判斷java

 <script type="text/javascript">
   //上傳圖片以前判斷上傳的圖片是否符合要求
   function chartPicture(fileObj){
	   var img=new Image();
	   var value = document.getElementById(fileObj);
	   if (value.files && value.files[0]) {
			//火狐7以上版本不能用上面的getAsDataURL()方式獲取,須要一下方式
			img.src = window.URL
					.createObjectURL(value.files[0]);
		} else if(document.selection){
			//IE下,使用濾鏡
			value.select();
			var imgSrc = document.selection.createRange().text;
			img.src=imgSrc;
		}
		//由於這裏只有把圖片添加到頁面後纔可獲取其高和寬
	   document.body.appendChild(img);
	   img.onload = function(){
		   alert(img.offsetWidth);
	           img.style.display = 'none';

	   };
	  
   }
   </script>
   這種方法有其缺點,那就是在ie下有時有點很差使
   
   方法二:java進行判斷
   
   首先,經過struts上傳到後臺後,獲取是File文件了,那麼怎麼對它進行操做呢
   
   BufferedImage sourceImg =ImageIO.read(file文件);   
	                System.out.println(sourceImg.getWidth());  
	                System.out.println(sourceImg.getHeight());
	                這個所謂的缺點,那就是不怎麼及時了,只能等你提交後,纔可進行判斷,不怎麼及時
相關文章
相關標籤/搜索