<html>
<title>文件上传前台控制检测程序 v0.6</title>
<style>
body,td{font-size:12px;}
</style>
<script type="text/javascript" src="upPic.js" ></script>
<form enctype="multipart/form-data" method="POST" onsubmit="return HasChecked;">
<fieldset style="width: 372; height: 60;padding:2px;">
<legend><font color="#FF0000">图片来源</font></legend>
<input type="radio" name="radio1" checked onclick="SwitchUpType(true);">本地<input type="radio" name="radio1" onclick="SwitchUpType(false);">远程:<input type="file" name="file1" onchange="CheckExt(this)" style="width:180px;">
<input type="submit" id="UploadButton" value="开始上传" disabled><br>
<div style="border:1 solid #808080;background:#E0E0E0;width100%;height:20px;color:#606060;padding:5px;">
<table border="0"><tr><td width="60" id="PreviewImg">预览区</td><td id="MsgList" valign="top"></td></tr></table>
</div>
</fieldset>
</form>
</body>
</html>
/******************************js代码**************************/
var ImgObj=new Image();//建立一个图像对象
var num=0;
var AllImgExt=".jpg|.jpeg|.gif|.bmp|.png|"//全部图片格式类型
var FileObj,ImgFileSize,ImgWidth,ImgHeight,FileExt,ErrMsg,FileMsg,HasCheked,IsImg//全局变量 图片相关属性
//以下为限制变量
var AllowExt=".jpg|.gif|.doc|.txt|"//允许上传的文件类型 ŀ为无限制 每个扩展名后边要加一个"|" 小写字母表示
//var AllowExt=0
var AllowImgFileSize=100;//允许上传图片文件的大小 0为无限制 单位:KB
var AllowImgWidth=1024;//允许上传的图片的宽度 ŀ为无限制 单位:px(像素)
var AllowImgHeight=800;//允许上传的图片的高度 ŀ为无限制 单位:px(像素)
HasChecked=false;
function CheckProperty(obj)//检测图像属性
{
FileObj=obj;
if(ErrMsg!="")//检测是否为正确的图像文件 返回出错信息并重置
{
ShowMsg(ErrMsg,false);
return false;//返回
}
if(ImgObj.readyState!="complete")//如果图像是未加载完成进行循环检测
{
setTimeout("CheckProperty(FileObj)",500);
return false;
}
ImgFileSize=Math.round(ImgObj.fileSize/1024*100)/100;//取得图片文件的大小
ImgWidth=ImgObj.width//取得图片的宽度
num=Math.round(ImgWidth/250);
ImgHeight=ImgObj.height;//取得图片的高度
FileMsg="\n图片大小:"+ImgWidth+"*"+ImgHeight+"px";
FileMsg=FileMsg+"\n图片文件大小:"+ImgFileSize+"Kb";
FileMsg=FileMsg+"\n图片文件扩展名:"+FileExt;
if(AllowImgWidth!=0&&AllowImgWidth<ImgWidth)
ErrMsg=ErrMsg+"\n图片宽度超过限制。请上传宽度小于"+AllowImgWidth+"px的文件,当前图片宽度为"+ImgWidth+"px";
if(AllowImgHeight!=0&&AllowImgHeight<ImgHeight)
ErrMsg=ErrMsg+"\n图片高度超过限制。请上传高度小于"+AllowImgHeight+"px的文件,当前图片高度为"+ImgHeight+"px";
if(AllowImgFileSize!=0&&AllowImgFileSize<ImgFileSize)
ErrMsg=ErrMsg+"\n图片文件大小超过限制。请上传小于"+AllowImgFileSize+"KB的文件,当前文件大小为"+ImgFileSize+"KB";
if(ErrMsg!="")
ShowMsg(ErrMsg,false);
else
ShowMsg(FileMsg,true);
}
ImgObj.onerror=function(){ErrMsg='\n图片格式不正确或者图片已损坏!'}
function ShowMsg(msg,tf)//显示提示信息 tf=true 显示文件信息 tf=false 显示错误信息 msg-信息内容
{
msg=msg.replace("\n","<li>");
msg=msg.replace(/\n/gi,"<li>");
if(!tf)
{
document.all.UploadButton.disabled=true;
FileObj.outerHTML=FileObj.outerHTML;
MsgList.innerHTML=msg;
HasChecked=false;
}
else
{
document.all.UploadButton.disabled=false;
if(IsImg)
PreviewImg.innerHTML="<img src='"+ImgObj.src+"' width='"+ImgWidth/num+"' height='"+ImgHeight/num+"'>"
else
PreviewImg.innerHTML="非图片文件";
MsgList.innerHTML=msg;
HasChecked=true;
}
}
function CheckExt(obj)
{
ErrMsg="";
FileMsg="";
FileObj=obj;
IsImg=false;
HasChecked=false;
PreviewImg.innerHTML="预览区";
if(obj.value=="")return false;
MsgList.innerHTML="文件信息处理中...";
document.all.UploadButton.disabled=true;
FileExt=obj.value.substr(obj.value.lastIndexOf(".")).toLowerCase();
if(AllowExt!=0&&AllowExt.indexOf(FileExt+"|")==-1)//判断文件类型是否允许上传
{
ErrMsg="\n该文件类型不允许上传。请上传 "+AllowExt+" 类型的文件,当前文件类型为"+FileExt;
ShowMsg(ErrMsg,false);
return false;
}
if(AllImgExt.indexOf(FileExt+"|")!=-1)//如果图片文件,则进行图片信息处理
{
IsImg=true;
ImgObj.src=obj.value;
CheckProperty(obj);
return false;
}
else
{
FileMsg="\n文件扩展名:"+FileExt;
ShowMsg(FileMsg,true);
}
}
function SwitchUpType(tf)
{
if(tf)
str='<input type="file" name="file1" onchange="CheckExt(this)" style="width:180px;">'
else
str='<input type="text" name="file1" onblur="CheckExt(this)" style="width:180px;">'
document.all.file1.outerHTML=str;
document.all.UploadButton.disabled=true;
MsgList.innerHTML="";
}
分享到:
相关推荐
在这个“基于SSM的图片上传实现”项目中,我们将探讨如何利用这三大框架来实现在Web应用程序中处理图片上传和查询的功能。 首先,Spring作为核心的依赖注入(DI)和面向切面编程(AOP)框架,提供了管理和控制应用...
总结,"JSP图片上传实现"是一个涵盖前端交互、后端处理、文件操作和安全性等多个方面的综合实践。通过MyEclipse或Eclipse这样的开发工具,我们可以方便地构建这样一个系统,为用户提供便捷的图片上传功能。在开发...
本资源“图片上传实现(java)_微信小程序模板js代码前台前端H5页面源码.rar”提供了完整的实现方案,包括Java后端处理和前端微信小程序、H5页面的源码。下面我们将详细探讨这一主题。 首先,我们关注的是前端部分...
文本编辑器CKEditor 3使用配置和图片上传实现实例,里面包含了一个项目源代码和使用文档。项目经过自己的测试,是成功的,但里面还包含了其他程序代码没有去掉,不会影响的。 项目是使用jsp+struts 1.2实现。
这里我们将深入探讨实现图片上传的关键步骤、涉及的技术和最佳实践。 首先,前端部分通常使用HTML5的`<input type="file">`元素来让用户选择本地的图片文件。通过JavaScript或者jQuery,我们可以监听这个元素的`...
【仿淘宝图片上传】是一个基于jQuery实现的图片上传功能,主要目标是提供与淘宝网站类似的用户体验,让用户能够方便快捷地上传图片。这个功能通常包括图片预览、多图选择、图片裁剪、上传进度显示等多个关键步骤,...
Struts2是一个强大的Java EE应用程序框架,用于构建MVC(模型-视图-控制器)架构的Web应用。...这是一个基础的图片上传实现,实际项目中可能还需要考虑错误处理、文件大小限制、文件类型检查等更多细节。
在实际的多张图片上传实现中,uniapp 提供了 `uni.chooseImage` 方法用于让用户选择图片,可以设置选择图片的数量限制。选择后,图片数据会被返回,开发者可以通过 `uni.uploadFile` 将图片数据上传到服务器。在上传...
图片上传实现(java).zip小程序例子源码打包下载适合研究学习技术图片上传实现(java).zip小程序例子源码打包下载适合研究学习技术 1.适合学习做毕业设计参考模板。 2.适合程序员学习开发小程序研究用 3.适合小...
本文将深入探讨如何使用Java来实现图片上传的功能,主要涉及的技术点包括文件处理、HTTP请求、Multipart编码以及服务器端存储策略。 首先,我们需要了解Java中的文件操作。Java提供了一系列的File类API,可以用来...
在CKEditor中实现图片上传功能,通常会结合后端框架如Struts2进行处理。本文将深入探讨如何利用CKEditor与Struts2实现图片上传的功能。 首先,我们需要在CKEditor的配置中启用图片上传功能。这可以通过修改CKEditor...
开发者可以根据这些资源来集成到自己的项目中,或者作为学习H5图片上传实现的参考。 总的来说,H5图片上传插件是网页开发中的一个重要工具,它通过便捷的操作和丰富的功能提升了用户的交互体验。在实际应用中,选择...
本篇文章将详细讲解如何实现一个支持多张图片上传、相册选择、拍照以及图片删除与重新上传的功能。 首先,我们需要理解图片上传的基本流程。这个过程通常包括以下几个步骤: 1. **用户界面**:设计友好的用户界面...
以下是实现图片上传的基本步骤: 1. **配置Struts2**:在struts.xml配置文件中,定义一个Action,比如`ImageUploadAction`,并设置对应的接收方法,如`execute()`。同时,需要配置允许文件上传的相关参数。 2. **...
总之,Android图片上传实现预览效果涉及到了文件选择、图片处理、UI布局、自定义Adapter、ViewPager使用、网络请求等多个技术点,理解并掌握这些知识点对于Android开发者来说至关重要。通过合理的设计和实现,可以为...
在前端开发中,图片上传是一种常见需求,Vue.js作为现代web开发中非常受欢迎的JavaScript框架之一,与Element UI这一基于Vue 2.0的桌面端组件库结合使用时,可以非常便捷地实现图片上传功能。Element UI提供了丰富的...
在现代Web开发中,用户交互性是至关重要的,特别是在处理媒体内容如图片上传时。`jQuery`是一个广泛使用的JavaScript库,它简化了DOM操作、事件处理以及Ajax交互,因此使用`jQuery`实现图片即时上传是一种常见且高效...
面向过程的PHP图片上传实现相对简单,主要涉及`$_FILES`全局数组,它包含了客户端上传文件的所有信息。你可以检查`$_FILES['file_name']['error']`来判断上传是否成功,然后通过`move_uploaded_file()`函数将临时...
在本教程中,我们将深入探讨如何在TinyMCE中实现本地图片上传功能。 首先,你需要在项目中引入TinyMCE。这通常通过下载其源码或通过CDN链接完成。一旦引入,你需要配置TinyMCE,指定一个容器元素,以及所需的工具栏...
- `upload.rar`、`Ajax%2Bupload.rar`、`ajaxfileupload.rar`、`FileUpload_jsp.rar`、`jsp无刷新上传.rar` 都是关于不同方式的图片上传实现,可能包含了不同的技术栈和实现策略。 - `AJAX_Sample_Codes.zip` 可能是...