javascript 读取图片文件的大小
今天弄了一个附件图片上传的,为了写一个检测,很麻烦,后来,发现一个比较巧妙的方法,如下:
function checkAttachment(){
alert("here");
var attachmentArray = document.getElementsByTagName("input");
var attachmentSizeArray = document.getElementsByName("fileMaxSize");
var index = 0;
for (var i = 0; i < attachmentArray.length; i++){
var attachment = attachmentArray[i];
if (attachment.type=="file"){
if (!isPhoto(attachment.value)){
alert("上传的附件必须是相片.");
attachment.focus();
return false;
}
if (getFileSize(attachment) > 1024 * attachmentSizeArray[index].value){
alert("上传的附件不能大于" + attachmentSizeArray[index].value + "k.");
attachment.focus();
return false;
}
index++;
}
}
return true;
}
function getFileSize(fileObject){
var image=new Image();
image.dynsrc=fileObject.value;
return image.fileSize;
}
第一个方法是获取页面的所有file控件和对应file文件大小的限定,
重点是第二个方法,很巧妙的用一个image来解决,(*^__^*) 嘻嘻……
function checkAttachment(){
alert("here");
var attachmentArray = document.getElementsByTagName("input");
var attachmentSizeArray = document.getElementsByName("fileMaxSize");
var index = 0;
for (var i = 0; i < attachmentArray.length; i++){
var attachment = attachmentArray[i];
if (attachment.type=="file"){
if (!isPhoto(attachment.value)){
alert("上传的附件必须是相片.");
attachment.focus();
return false;
}
if (getFileSize(attachment) > 1024 * attachmentSizeArray[index].value){
alert("上传的附件不能大于" + attachmentSizeArray[index].value + "k.");
attachment.focus();
return false;
}
index++;
}
}
return true;
}
function getFileSize(fileObject){
var image=new Image();
image.dynsrc=fileObject.value;
return image.fileSize;
}
第一个方法是获取页面的所有file控件和对应file文件大小的限定,
重点是第二个方法,很巧妙的用一个image来解决,(*^__^*) 嘻嘻……
【推荐】中国电信天翼云云端翼购节,2核2G云服务器一口价38元/年
【推荐】博客园携手 AI 驱动开发工具商 Chat2DB 推出联合终身会员
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步