下面是我写的一个通用的javascrip脚本,虽然调用时需要赋的参数比较多,但都是实际需要中真正需要使用到的。各位可以参考,并改成自己需要的脚本。
复制代码 代码如下:
/*****获取文件信息 edit by zhaogw 参考by misssionOtherAttEdit.jsp*****/
/*file:input type="file"的对象,一般用this。
vType:一个对象名,用于记录文件的文件类型信息。一般为input对象。
DivType:一个Div对象的名称。把其innerHTML内容用于显示文件的类型信息。
vFile:一个对象名,用于记录文件的文件名信息。一般为input对象。
DivFile:一个Div对象的名称。把其innerHTML内容用于显示文件的文件名信息。
vSize,DivSize同上面类似,只是记录文件的大小信息。
mMaxSize:以m为单位计算其允许上传的最大文件大小。
allowType:只接受的文件类型
*/
function getFileInfo(file,mMaxSize,allowType,vFile,DivFile,vType,DivType,vSize,DivSize){
var filePath = file.value;//文件路径
var fileName;//文件名
var fileType;//文件类型
var tmpObj;//临时对象
var notAllowType=new Array("exe","bat","asp","jsp","js","dll");
var mHTML=document.getElementById(file.name+'Td').innerHTML;
/*
var mHTML="<input type='file' name='"+
file.name+"' class='input100' id='"+file.id+
"' Tip='无法上传空文件' contentEditable='false' tmt:required='true' focusTips='请输入文件名' onChange='getFileInfo(this,"+
mMaxSize+",\""+allowType+"\",\""+vFile+"\",\""+DivFile+"\",\""+vType+"\",\""+DivType+"\",\""+vSize+"\",\""+DivSize+"\")'>";
*/
// alert(mHTML);
//get file name
if(filePath != null && filePath != ''){
var pass=true;
//文件类型
fileType = filePath.substring(filePath.lastIndexOf('.') + 1,filePath.length);
if (fileType!=null&&fileType!='')
{
for (var i in notAllowType){
if (fileType.toLowerCase()==notAllowType[i]){
pass=false;
break;}
}
}
//允许的类型,空的话就不设置允许类型
var match=false;
if (allowType!=null&&allowType!=''){
var allowList=allowType.split('|');
for (var j in allowList){
if (fileType.toLowerCase()==allowList[j].toLowerCase()){
match=true;
break;}
}
} else {match=true;}
if (pass&&match)
{
fileName = filePath.substring(filePath.lastIndexOf('\\') + 1,filePath.length);
tmpObj=document.getElementById(vType);
if (tmpObj!=null)
tmpObj.value = fileType;
tmpObj=document.getElementById(DivType);
if (tmpObj!=null)
tmpObj.innerHTML = fileType;
tmpObj=document.getElementById(vFile);
if (tmpObj!=null)
tmpObj.value = fileName;
tmpObj=document.getElementById(DivFile);
if (tmpObj!=null)
tmpObj.innerHTML = fileName;
try{
var fso,f,s;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFile(file.value);
if(f.Size > mMaxSize*1048576){
alert("文件大小不能超过"+mMaxSize+"M");
document.getElementById(file.name+'Td').innerHTML = mHTML;
tmpObj=document.getElementById(vType);
if (tmpObj!=null)
tmpObj.value = '';
tmpObj=document.getElementById(DivType);
if (tmpObj!=null)
tmpObj.innerHTML = '';
tmpObj=document.getElementById(vFile);
if (tmpObj!=null)
tmpObj.value = '';
tmpObj=document.getElementById(DivFile);
if (tmpObj!=null)
tmpObj.innerHTML = '';
tmpObj=document.getElementById(vSize);
if (tmpObj!=null)
tmpObj.value = '';
tmpObj=document.getElementById(DivSize);
if (tmpObj!=null)
tmpObj.innerHTML = '';
return;
}
else
{
tmpObj=document.getElementById(vSize);
if (tmpObj!=null)
tmpObj.value = f.Size;
tmpObj=document.getElementById(DivSize);
if (tmpObj!=null)
tmpObj.innerHTML = f.Size+" byte(字节)";
var imgType=new Array("jpg","jpeg","gif","bmp");
var isImg=false;
//文件类型
if (fileType!=null&&fileType!='')
{
for (var k in imgType){
if (fileType.toLowerCase()==imgType[k]){
isImg=true;
break;}
}
}
var tmpObj=document.getElementById("imgView");
if (isImg&&tmpObj){
var y = document.getElementById(file.name+"img");
if(y){
y.src = "file://localhost/" + file.value;
}else{
var img=document.createElement("img");
img.setAttribute("src","file://localhost/"+file.value);
img.setAttribute("width","120");
img.setAttribute("height","90");
img.setAttribute("id",file.name+"img");
tmpObj.appendChild(img);
}
}}
}catch(e){
//ignore
}
}
else if (!pass) {alert("不允许上传文件类型为:"+fileType);document.getElementById(file.name+'Td').innerHTML = mHTML;}
else if (!match) {alert("只允许上传文件类型为:"+allowType);document.getElementById(file.name+'Td').innerHTML = mHTML;}
}
}
调用方法的代码:
复制代码 代码如下:
<td width="23%" class="inputTd" id="fileNameTd" colspan="3">
<input type="file" name="fileName" class="input100" id="fileName" Tip="无法上传空文件" Usage="notempty" contentEditable="false" tmt:required="true" focusTips="请输入文件名" onChange="getFileInfo(this,10,'','vo.fileName','fileNameTd2','vo.fileType','fileTypeDiv','vo.fileSize','fileSizeDiv')">
<input type="hidden" name="vo.fileName" id="vo.fileName">
<span id="fileNameDiv" name="fileNameDiv"></span>
</td>
需要显示当前上传图片的需要加入以下代码:
<div id="imgView"> </div>
简单说明下脚本的相关约定:
1:如必须使用<td>对象来(或者别的有innerHTML属性的对象来包含着input的type="file"的对象,并且名称必须是input的name属性+"Td"为后缀)
2:imgView写死了,由于不想再加入更多的参数,因此,这里就固定这个了。大家也可以把名称作参数传递进去。看各位的方便了。
3:所有参数都可以为''但第一个参数基本上是this。脚本会自动去判断相关的参数的。
相关推荐:
什么是seo网站推广,什么是seo网站推广 ,ai酷男人
seo重点是什么,seo最重要的指标 ,ai网格怎么用
“新关键词”开启智慧营销新篇章,助力品牌突围,自己如何做网站seo
OpenPose大白话解释:让你轻松理解姿态识别的神奇技术,ai天天晴
seo运营经理是什么,seo和运营的区别 ,皖妍ai宁慕晴o
SEO关键词的选择步骤:让你的网站在搜索引擎中脱颖而出,ai书法化
AI撰写大数据解决方案:开启智能数据时代的新篇章,ai头号公敌
SEO广告:如何借助SEO提升品牌曝光与销售业绩?,网站推广怎么选择
seo重点工作是什么,seo重点工作是什么意思 ,棋谱检查ai
seo要学什么技术,seo要学什么技术好 ,ai.fale
SEO更多-让你的企业站点在搜索引擎中脱颖而出,如何结交seo大神
AI免费写文章生成器高效写作新革命
SEO攻略:搜索引擎优化,快速提升网站排名,网站推广网站优化费用
ChatGPT破解版:让人工智能助力你的工作与生活,ai cos帽
SEO考核:如何通过精准的SEO优化提升网站排名与流量,茶艺营销推广方案怎么写
seo竞价做的什么工作,seo 竞价 ,office智能ai
SEO挣钱之道:如何通过SEO实现网络盈利,宁晋网站建设商家
二次创作的魅力与潜力:创意无限的数字时代,天长外贸网站建设
AI一键生成文章,写作新境界
GoogleGPT-引领未来智能对话的革命,灵境ai画质
什么是seo概念,什么是seo,sem ,ai音标谐音
洗文章AI:让内容创作变得更智能、更高效
用AI生成的文章算原创吗?深度解析AI写作背后的秘密
SEO地位:如何提升你的网站排名与曝光度,抢占市场先机,微营销网络推广
seo软文有什么作用,seo文案是什么 ,斐乐Ai测评问题
AI助手Stut:智能时代的创新引擎,开启未来工作新篇章,ai对ai的格斗游戏
OpenAI银行卡扣款的公司是哪家?揭秘背后的支付流程与安全保障,AI素描相片
AI写作免费一键生成5000字:高效创作的革命性工具
ChatGPT中文版下载免费版:智能对话新时代,尽在,ai光波
ChatGPT服务部分恢复:人工智能助力全新体验,ai对象菜单
SEO优化需要给网站做哪些优化工作?,ai捕捉火苗
SEO获取流量的必杀技:如何通过优化轻松提升网站排名,德州全网营销推广价格
SEO确实是企业增长的关键,这些技巧让你走在行业前沿,山东网站建设信息
seo词库优化,搜索词条优化 ,ai点选择
SEO化学物质:如何在化工行业提升搜索引擎排名和品牌曝光,rack ai
2025百度收录优化:提升网站排名,助力企业数字化转型,第一ai做
SEO自行:提升网站流量的秘密武器,邹平县个人网站建设建议
SEO走动:提升网站流量的关键一步,SEO数据监控宝宝推荐
SEO埋词技巧,如何提升网站排名?,贵州营销推广方法
AI一键生成文章免费:革新写作方式,提升创作效率
怎么让AI写文章,轻松实现内容创作的智能化
ChatGPT不能用了?了解这一背后的真相及解决方法,ai恐怖头像
打造内容创作新时代:有言AI生成助力创作者释放灵感
在线AI文章生成器开启智能创作新时代
AI搜索写文章:一丝丝智慧背后的无限可能,电脑免费ai写作神器
文章写作AI:让创作更高效、精准的智能助手
ChatGPT错误处理与异常情况解决方法:让你的AI助手更加智能与可靠,智能ai鼠标ai智能语音
专业SEO助力企业在激烈市场竞争中脱颖而出,嘉兴海外网站推广价格
用AI批量下载工具,高效管理你的文件和资源
seo要懂些什么,seo主要做什么的 ,小艾艾AI