上传图片时,如何用js判断图片的尺寸大小是否合法?

Laughing 2011-04-22 04:19:32
上传图片时,如何用js判断图片的尺寸大小是否合法?如要求为不得大于80*100,这源于可恶的需求。
我在网上找了相关的代码,可是都不能使用,在这里请教大家!

请勿复制粘贴网上的代码!!!
...全文
627 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
hepeng_8 2011-04-22
  • 打赏
  • 举报
回复
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
BufferedImage image = ImageIO.read(new File("C:/cp.png"));
System.out.println(image.getWidth());
System.out.println(image.getHeight());
}

这样能得到图片的长和宽
huanggangmaojin 2011-04-22
  • 打赏
  • 举报
回复
js我没试过,但是直接在java代码里面设置是很简单的
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 t150ckh 的回复:]

+1引用 12 楼 yaoweijq 的回复:

en
服务端还是实在
引用 11 楼 rainsilence 的回复:
老实点,走服务器端把
[/Quote]

服务端吧,分两步:一步提交,一步保存,通过验证的的才能保存。
t150ckh 2011-04-22
  • 打赏
  • 举报
回复
+1[Quote=引用 12 楼 yaoweijq 的回复:]

en
服务端还是实在
引用 11 楼 rainsilence 的回复:
老实点,走服务器端把
[/Quote]
yaoweijq 2011-04-22
  • 打赏
  • 举报
回复
en
服务端还是实在
[Quote=引用 11 楼 rainsilence 的回复:]
老实点,走服务器端把
[/Quote]
rainsilence 2011-04-22
  • 打赏
  • 举报
回复
老实点,走服务器端把
Laughing 2011-04-22
  • 打赏
  • 举报
回复
yaoweijq,我周一试下,正式下班了,thanks
Laughing 2011-04-22
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 rainsilence 的回复:]

用Js判断方法有3种:有了html5后又多了一种,下面列举其中一种
var image = new Image();

image.onload = function() {
alert(image.getWidth());
alert(image.getHeight());
}

image.src = "url";

但是由于ie8下file控件取不到正确……
[/Quote]
我试过这种方法,ie8下跟没有这些代码一个样,起不到作用
yaoweijq 2011-04-22
  • 打赏
  • 举报
回复
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>添加首页浮动图片</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<style type="text/css">
#newPreview
{
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);
}
</style>
<script type="text/javascript" language="javascript">
function PreviewImg(imgFile)
{
//原来的预览代码,不支持 IE7。
//var oldPreview = document.getElementById("oldPreview");
//oldPreview.innerHTML = "<img src=\"file:\\\\" + imgFile.value + "\" width=\"80\" height=\"60\" />";
//新的预览代码,支持 IE6、IE7。
var newPreview = document.getElementById("newPreview");
var uploadValue = imgFile.value;
var len = uploadValue.length;
var fileType = uploadValue.substr(uploadValue.lastIndexOf(".")+1,len).toLowerCase();
if((fileType !='bmp') && (fileType != 'jpg') && (fileType != 'jpeg') && (fileType != 'gif') && (fileType != 'png')){
alert('文件类型不正确,请重新选择');
return;
}
newPreview.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgFile.value;
newPreview.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").sizingMethod = "image";
newPreview.style.width = "50px";
newPreview.style.height = "60px";
setTimeout("kk()",2000);
}
var final_width = 0;
var final_height = 0;
function kk(){
var newPreview = document.getElementById("newPreview");
final_width = newPreview.offsetWidth;
final_height = newPreview.offsetHeight;
}
</script>

<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript">
function sub(){
var f = document.getElementById("form1");
var uploadValue = document.getElementById('fileToUpload').value;
if(uploadValue==''){
alert('请选择文件');
return;
}
var img = new Image();//构造JS的Image对象
//alert(img.src);
//img.src = f.fileToUpload.value;//将本地图片赋给image对象
img.src = document.form1.fileToUpload.value;
var len = uploadValue.length;
var fileType = uploadValue.substr(uploadValue.lastIndexOf(".")+1,len).toLowerCase();
if((fileType !='bmp') && (fileType != 'jpg') && (fileType != 'jpeg') && (fileType != 'gif') && (fileType != 'png')){
alert('文件类型不正确,请重新选择');
return;
}
if(final_width != 80 || final_height != 80){
alert("文件的大小不正确,必须为80*80像素");
return;
}
var link = document.getElementById('link').value;
if(!(link.indexOf('http://') == 0 || link.indexOf('https://') ==0 ) ) {
alert('链接不正确,必须以http://或https://开头');
return;
}
f.action = "npage/cms/main/doAddFloatingPic.jsp";
f.submit();
}
</script>
</head>

<body>
<!-- 添加浮动图片的form 这个页面宽度打开为450-->
<form id="form1" name="form1" enctype="multipart/form-data" method="post" action="doAddFloatingPic.jsp">
<div class="importTable">
<font color="red">
提醒:有效文件类型:gif,png,jpg,bmp.     上传图片大小为:80像素 X 80像素</font>
<br/><br/>
<table width="100%" border="0" cellspacing="1" cellpadding="0">
<tbody>
<tr>
<td width="70px">选择图片:</td>
<td width="380px"><input id="fileToUpload" type="file" size="30" name="fileToUpload" class="input" contenteditable="false" onchange="javascript:PreviewImg(this);"></td>
</tr>
<tr>
<td>图片预览:</td>
<td><div id="newPreview"></div></td>
</tr>
<tr>
<td>设置链接:</td>
<td><input type="text" id="link" name="link" size="29"/></td>
</tr>
<tr>
<td>是否隐藏:</td>
<td>
<input type="radio" name="is_hidden" value="Y"/>是
<input type="radio" name="is_hidden" value="N" checked/>否
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="button" class="btn_system" value="增加" onclick="javascript:sub();"/>
</td>
</tr>
</tbody>
</table>
</div>
</form>

</body>
</html>

最近刚弄的
ie6 7可以用
ff ie8不清楚
rainsilence 2011-04-22
  • 打赏
  • 举报
回复
用Js判断方法有3种:有了html5后又多了一种,下面列举其中一种
var image = new Image();

image.onload = function() {
alert(image.getWidth());
alert(image.getHeight());
}

image.src = "url";

但是由于ie8下file控件取不到正确的path,所以用什么方法只要是通过file控件来的path,都不行。干脆直接上传通过java来判断。
Laughing 2011-04-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 rainsilence 的回复:]

Java code
import java.awt.image.BufferedImage;
import java.io.File;

import javax.imageio.ImageIO;

public class Test {


/**
* @param args
*/
public static void main(String[] ……
[/Quote]
服务器端代码行?
上传图片时,图片在客户机上。
rainsilence 2011-04-22
  • 打赏
  • 举报
回复
我觉得,就算人家不符合要求,你把人家的图片转成你需要的大小不是更加好?
rainsilence 2011-04-22
  • 打赏
  • 举报
回复
import java.awt.image.BufferedImage;
import java.io.File;

import javax.imageio.ImageIO;

public class Test {


/**
* @param args
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
BufferedImage image = ImageIO.read(new File("C:/cp.png"));
System.out.println(image.getWidth());
System.out.println(image.getHeight());
}

}

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧