1、【html 代码,主体是iframe与from表单的代码】
<span
style="margin-bottom:10px;"><a
href="#"
onclick="showdiv();"
title="iframe无刷新上传"
class="shortcut">[修改头像]</a></span>
<div
id="bg"></div>
<div
id="show">
<div
style="height:25px;line-height:25px;background-color:#EAEAEA;"><span
style="margin-left:5px">【上传】</span><span
style="float:right;"><a
href="javascript:void(0);"onclick="hidediv();">【X】</a></span></div>
<div
style="margin-top:10px;">
<iframe
style="display:none"
name="ifm"></iframe>
<form
action="/Index/uploadFiles"
target="ifm"
method="post"enctype="multipart/form-data">
上传文件:<input
type="file"name="headpic"
id="headpic"/> <input
type="submit"
name="sub"value="上传"
/>
</form>
</div>
</div>
注:from表单中的target属性是必须的,属性名称与iframe中的name属性名称须一致。
这是在一个遮罩层里的,遮罩层代码由css样式与js控制完成,如下:
Css代码:
<style
type="text/css">
#bg{
display: none;
position: absolute;
top: 0%;
left: 0%;
width: 100%;
height: 100%;
background-color: black;
z-index:1001;
-moz-opacity: 0.7;
opacity:.70;
filter: alpha(opacity=70);}
#show{display:
none; position:
absolute;
top: 25%;
left: 22%;
width: 53%;
height: 49%;
padding: 8px;
border: 8px solid #E8E9F7;
background-color: white;
z-index:1002;
overflow: auto;}
</style>
Js代码
<script
type="text/javascript"
type="text/javascript">
//显示遮罩层
function showdiv(){
document.getElementById("bg").style.display ="block";
document.getElementById("show").style.display ="block";
}
//取消遮罩层的显示
function hidediv(){
document.getElementById("bg").style.display ='none';
document.getElementById("show").style.display ='none';
}
//上传成功后调用
function callback(file_name){
//设置刚上传的图片路径
document.getElementById("headers").setAttribute("src", file_name);
hidediv ();
}
</script>
服务器处理上传代码(PHP语言):
if($_FILES['headpic']['error'] > 0){
echo "<script>alert('没有上传图片或图片有误!');</script>";
}else{
$myfile= $_FILES;
$size= 10*1024*1024;
if($myfile['headpic']['size']<=$size){
//判断类型
$fileInfo= pathinfo($myfile['headpic']['name']);
if($fileInfo['extension'] =='jpg'
|| $fileInfo['extension'] =='png'
|| $fileInfo['extension'] ==
'jpeg'){
$file_path= "./files/";
//$filename =date("YmdHis").mt_rand(100,999).".".$fileInfo['extension'];
$filename= date("Ymd-His").
"." .$fileInfo['extension'];
//$filename = iconv("UTF-8","GBK",$filename);
$extension= $fileInfo['extension'];
//上传文件的函数
if(move_uploaded_file($myfile['headpic']['tmp_name'],$file_path.$filename)){
//处理图片的规格开始
//return array("scanName" =>$filename,"errorMsg" => "success");
//echo $file_path . $filename;
$user= $this->Session->read("userInfo");
$ret= $this->Index->updateHeader($user[0]['xa']['id'], $filename);
if($ret){
echo
"<script>parent.callback('/files/". $filename .
"');</script>";
}else{
echo
"<script>alert('上传失败!');</script>";
}
}
}
}
}
这样基本上就可以完成iframe无刷新上传了!其实,利用iframe上传实现的无刷新上传,刷新的应该是iframe,在form表单中其实多了一个target属性,其名称与iframe中的name属性一致。如果没有target这个属性的话,就是跳转页面上传(自己的理解)。
分享到:
相关推荐
实例VS2010代码 dojo_iframe无刷新上传文件demo.rar dojo_iframe无刷新上传文件demo.rar dojo_iframe无刷新上传文件demo.rar dojo_iframe无刷新上传文件demo.rar dojo_iframe无刷新上传文件demo.rar
同时,为了利用iframe实现无刷新上传,`target`属性应设置为iframe的ID。 3. **IFrame应用** IFrame作为目标表单提交点,可以让表单提交在背景中进行,不更新整个页面。创建一个隐藏的iframe,将表单的`action`...
无刷新上传文件是一种提高用户体验的技术,它允许用户在不刷新整个网页的情况下进行文件上传,减少了等待时间和网络资源的消耗。这种技术广泛应用于各种Web应用程序,尤其是涉及到用户交互和大量数据交换的场景,如...
"iframe实现无刷新上传下载"是一个利用IFrame和JQuery技术来创建的项目,它允许用户在不刷新整个页面的情况下进行文件的上传和下载操作,提高了交互效率,同时也保持了页面状态的连续性。 首先,我们要理解什么是...
总结,"ajax iframe jsp 无刷新上传文件.zip"包含的知识点涵盖了Ajax与Iframe结合的文件上传技术,JSP服务器端处理,JavaScript字符串操作,Struts2的验证和链接标签,以及Spring入门和JSP请求Action的方法。...
本示例以“jsp无刷新上传文件”为主题,结合使用了iframe、AJAX以及jsp技术,实现了这一功能。以下是相关的知识点详解: 1. **iframe(内联框架)**:iframe允许在HTML文档中嵌入另一个HTML文档,常用于实现页面的...
但是用iFrame来实现无刷新上传文件确实一个很好的选择。ps:Ajax技术基本上可以说是由google公司带起来的,但少Gmail中上传文件用的还是 IFrame,所以说使用IFrame来上传文件是最好的选择。 我在这里这里用的技术是...
无刷新文件上传是一种提高用户体验的技术,它允许用户在不重新加载整个网页的情况下提交文件。这种技术主要基于Ajax(异步JavaScript和XML)和现代浏览器支持的FormData对象,使得用户可以一边浏览网页,一边进行...
使用隐藏的Iframe实现Ajax无刷新上传的基本思路是:创建一个隐藏的Iframe作为文件上传的目标,当用户选择文件并提交表单后,表单数据会通过POST方式发送到服务器端处理文件上传操作。由于Iframe的存在,上传过程不会...
在IT行业中,多文件无刷新上传是Web应用中一个重要的功能,它极大地提升了用户体验,使得用户可以在不刷新页面的情况下批量上传文件。这个源码包"[上传下载]多文件无刷新上传源码 v1.0_ajaxupload_src"显然是针对这...
3. **隐藏IFrame**:由于浏览器的安全限制,直接使用AJAX上传文件并不容易。通常,会利用一个隐藏的IFrame来处理表单提交,这样文件可以被发送到服务器而不会导致页面刷新。 4. **服务器端处理**:`file.asp`可能是...
总结来说,通过隐蔽的iframe实现无刷新上传文件操作,可以提供流畅的用户体验。这种方式结合ReactJS、AmazeUI和Node.js,利用iframe的特性以及JavaScript的事件处理机制,能够有效地处理文件上传并在上传完成后更新...
### AJAX与JSP结合实现无刷新文件上传 ...此外,虽然本例中使用了IFrame来实现无刷新的效果,但真正的AJAX实现方式会更灵活和高效,可以使用jQuery等库提供的AJAX方法来进一步优化前端的交互效果。
总结来说,虽然AJAX自身不支持文件上传,但通过巧妙地结合IFRAME和JSP,我们可以实现无刷新的文件上传效果,提高Web应用的用户体验。这种技术在现代Web开发中有着广泛的应用,尤其是在需要大量用户交互的场景下。
在PHP开发中,实现无刷新上传文件是一种常见的需求,它能提供更好的用户体验,避免页面在整个上传过程中刷新,保持用户界面的连续性。本实例通过Iframe技术实现了这一功能,下面将详细讲解其工作原理和核心代码。 ...
之前写过一个仿163网盘无刷新多文件上传系统,已经对无刷新上传文件的原理做了详细的分析。 而这次的系统主要是针对单个file控件的,便携版,使用更简单,还有更深入的分析。 兼容:ie6/7/8, firefox 3.5.5, opera ...
本文将详细介绍如何使用隐藏的IFrame实现无刷新上传文件,以及涉及到的相关技术。 首先,我们需要创建一个HTML表单,其中包含一个用于选择文件的`<input type="file">`元素。这个表单的`target`属性设置为一个...
总结,实现"ajax无刷新上传图片",关键在于利用Ajax的异步特性结合IFrame规避文件上传限制,通过JavaScript控制前端交互,服务器端处理文件存储,最后通过Ajax更新页面状态,提供流畅的用户体验。在开发过程中,需要...
无刷新上传是指用户在提交表单后,页面不会重新加载或跳转,而是通过后台处理数据并返回结果,通常借助Ajax技术实现。在这种情况下,我们使用jQuery来编写前端交互代码,PHP作为后端服务器端脚本处理图片上传。 **...
本文实例讲述了asp.net中MVC借助Iframe实现无刷新上传文件的方法。分享给大家供大家参考。具体实现方法如下: html: 代码如下:”uploadwindow” xss=removed> <form action=”/ShopActivitys/...