`
xuyanlu
  • 浏览: 8336 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

Iframe 无刷新上传文件

阅读更多

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"/>&nbsp;&nbsp;<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这个属性的话,就是跳转页面上传(自己的理解)。

分享到:
评论

相关推荐

    dojo_iframe无刷新上传文件demo.rar

    实例VS2010代码 dojo_iframe无刷新上传文件demo.rar dojo_iframe无刷新上传文件demo.rar dojo_iframe无刷新上传文件demo.rar dojo_iframe无刷新上传文件demo.rar dojo_iframe无刷新上传文件demo.rar

    php+iframe 无刷新上传

    同时,为了利用iframe实现无刷新上传,`target`属性应设置为iframe的ID。 3. **IFrame应用** IFrame作为目标表单提交点,可以让表单提交在背景中进行,不更新整个页面。创建一个隐藏的iframe,将表单的`action`...

    无刷新上传文件

    无刷新上传文件是一种提高用户体验的技术,它允许用户在不刷新整个网页的情况下进行文件上传,减少了等待时间和网络资源的消耗。这种技术广泛应用于各种Web应用程序,尤其是涉及到用户交互和大量数据交换的场景,如...

    iframe实现无刷新上传下载

    "iframe实现无刷新上传下载"是一个利用IFrame和JQuery技术来创建的项目,它允许用户在不刷新整个页面的情况下进行文件的上传和下载操作,提高了交互效率,同时也保持了页面状态的连续性。 首先,我们要理解什么是...

    ajax iframe jsp 无刷新上传文件.zip

    总结,"ajax iframe jsp 无刷新上传文件.zip"包含的知识点涵盖了Ajax与Iframe结合的文件上传技术,JSP服务器端处理,JavaScript字符串操作,Struts2的验证和链接标签,以及Spring入门和JSP请求Action的方法。...

    jsp无刷新上传文件

    本示例以“jsp无刷新上传文件”为主题,结合使用了iframe、AJAX以及jsp技术,实现了这一功能。以下是相关的知识点详解: 1. **iframe(内联框架)**:iframe允许在HTML文档中嵌入另一个HTML文档,常用于实现页面的...

    Ajax无刷新上传文件( jsp版本)

    但是用iFrame来实现无刷新上传文件确实一个很好的选择。ps:Ajax技术基本上可以说是由google公司带起来的,但少Gmail中上传文件用的还是 IFrame,所以说使用IFrame来上传文件是最好的选择。 我在这里这里用的技术是...

    无刷新文件上传实例

    无刷新文件上传是一种提高用户体验的技术,它允许用户在不重新加载整个网页的情况下提交文件。这种技术主要基于Ajax(异步JavaScript和XML)和现代浏览器支持的FormData对象,使得用户可以一边浏览网页,一边进行...

    使用隐藏的Iframe实现ajax无刷新上传

    使用隐藏的Iframe实现Ajax无刷新上传的基本思路是:创建一个隐藏的Iframe作为文件上传的目标,当用户选择文件并提交表单后,表单数据会通过POST方式发送到服务器端处理文件上传操作。由于Iframe的存在,上传过程不会...

    [上传下载]多文件无刷新上传源码

    在IT行业中,多文件无刷新上传是Web应用中一个重要的功能,它极大地提升了用户体验,使得用户可以在不刷新页面的情况下批量上传文件。这个源码包"[上传下载]多文件无刷新上传源码 v1.0_ajaxupload_src"显然是针对这...

    asp仿163网盘无刷新文件上传

    3. **隐藏IFrame**:由于浏览器的安全限制,直接使用AJAX上传文件并不容易。通常,会利用一个隐藏的IFrame来处理表单提交,这样文件可以被发送到服务器而不会导致页面刷新。 4. **服务器端处理**:`file.asp`可能是...

    基于PHP的使用Iframe无刷新上传的代码源码.zip

    在PHP开发中,实现无刷新上传文件是一种提升用户体验的有效方式。这种技术主要依赖于HTML的`&lt;iframe&gt;`元素和JavaScript的异步处理。本压缩包中的代码源码展示了如何利用这些技术来创建一个基于PHP的无刷新文件上传...

    通过隐蔽iframe实现无刷新上传文件操作_.docx

    总结来说,通过隐蔽的iframe实现无刷新上传文件操作,可以提供流畅的用户体验。这种方式结合ReactJS、AmazeUI和Node.js,利用iframe的特性以及JavaScript的事件处理机制,能够有效地处理文件上传并在上传完成后更新...

    ajax jsp 无刷新上传文件

    ### AJAX与JSP结合实现无刷新文件上传 ...此外,虽然本例中使用了IFrame来实现无刷新的效果,但真正的AJAX实现方式会更灵活和高效,可以使用jQuery等库提供的AJAX方法来进一步优化前端的交互效果。

    JSP_模拟AJAX实现无刷新文件上传

    总结来说,虽然AJAX自身不支持文件上传,但通过巧妙地结合IFRAME和JSP,我们可以实现无刷新的文件上传效果,提高Web应用的用户体验。这种技术在现代Web开发中有着广泛的应用,尤其是在需要大量用户交互的场景下。

    PHP实例开发源码—php使用Iframe无刷新上传的代码.zip

    在PHP开发中,实现无刷新上传文件是一种常见的需求,它能提供更好的用户体验,避免页面在整个上传过程中刷新,保持用户界面的连续性。本实例通过Iframe技术实现了这一功能,下面将详细讲解其工作原理和核心代码。 ...

    简便无刷新文件上传系统(asp.net版)

    之前写过一个仿163网盘无刷新多文件上传系统,已经对无刷新上传文件的原理做了详细的分析。 而这次的系统主要是针对单个file控件的,便携版,使用更简单,还有更深入的分析。 兼容:ie6/7/8, firefox 3.5.5, opera ...

    通过隐藏iframe实现无刷新上传文件操作

    本文将详细介绍如何使用隐藏的IFrame实现无刷新上传文件,以及涉及到的相关技术。 首先,我们需要创建一个HTML表单,其中包含一个用于选择文件的`&lt;input type="file"&gt;`元素。这个表单的`target`属性设置为一个...

    ajax无刷新上传图片

    总结,实现"ajax无刷新上传图片",关键在于利用Ajax的异步特性结合IFrame规避文件上传限制,通过JavaScript控制前端交互,服务器端处理文件存储,最后通过Ajax更新页面状态,提供流畅的用户体验。在开发过程中,需要...

    php+jquery无刷新上传图片

    无刷新上传是指用户在提交表单后,页面不会重新加载或跳转,而是通过后台处理数据并返回结果,通常借助Ajax技术实现。在这种情况下,我们使用jQuery来编写前端交互代码,PHP作为后端服务器端脚本处理图片上传。 **...

Global site tag (gtag.js) - Google Analytics