【发布时间】:2014-06-09 06:29:09
【问题描述】:
我正在使用墨水文件选择器来选择单个图像。 我想限制用户上传宽度为 100 和高度为 300 的图像。 如果图像大小不合适,则发送错误消息。 如何限制用户?
【问题讨论】:
标签: javascript asp.net filepicker.io
我正在使用墨水文件选择器来选择单个图像。 我想限制用户上传宽度为 100 和高度为 300 的图像。 如果图像大小不合适,则发送错误消息。 如何限制用户?
【问题讨论】:
标签: javascript asp.net filepicker.io
您可以使用FileReader() 和jquery 检查图像大小
function readImage(file) {
var reader = new FileReader();
var image = new Image();
reader.readAsDataURL(file);
reader.onload = function(_file) {
image.src = _file.target.result; // url.createObjectURL(file);
image.onload = function() {
var w = this.width,
h = this.height,
t = file.type, // ext only: // file.type.split('/')[1],
n = file.name,
s = ~~(file.size/1024) +'KB';
if(w!=100 || h!=100){
alert("invalid height or width");
}
$('#uploadPreview').append('<img src="'+ this.src +'"> '+w+'x'+h+' '+s+' '+t+' '+n+'<br>');
};
image.onerror= function() {
alert('Invalid file type: '+ file.type);
};
};
}
$("#choose").change(function (e) {
if(this.disabled) return alert('File upload not supported!');
var F = this.files;
if(F && F[0]) for(var i=0; i<F.length; i++) readImage( F[i] );
});
HTML
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<meta charset=utf-8 />
<title>Multiple image upload with preview by Roko C.B.</title>
</head>
<body>
<input type="file" id="choose" multiple="multiple" />
<br>
<div id="uploadPreview"></div>
JS BIN 示例JSBIN
【讨论】: