`
xuyanlu
  • 浏览: 7912 次
  • 性别: 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

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

    ajax iframe jsp 无刷新上传文件+JavaScript字符串函数大全+如何自定义Struts2表单验证后的错误信息显示格式样式

    iframe实现无刷新上传下载

    通过iframe和Jquery实现无刷新上传下载文件。项目是VS2010的。

    jsp无刷新上传文件

    出于安全考虑js是不能操作文件的,而ajax与后台通信都是通过传递字符串所以在jsp中使用iframe实现无刷新提交文件

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

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

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

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

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

    但是用iFrame来实现无刷新上传文件确实一个很好的选择。 解决办法是通过一个隐藏的iframe来处理上传操作我采用的是ReactJS,amazeui,nodejs 1.html target指向iframe的name,就是把上传后的操作交给iframe来处理. &...

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

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

    php+jquery无刷新上传图片

    php+jquery无刷新上传图片,应用iframe实现,

    asp.net中MVC借助Iframe实现无刷新上传文件实例

    本文实例讲述了asp.net中MVC借助Iframe实现无刷新上传文件的方法。分享给大家供大家参考。具体实现方法如下: html: 代码如下:”uploadwindow” xss=removed&gt;  &lt;form action=”/ShopActivitys/...

    谈谈基于iframe、FormData、FileReader三种无刷新上传文件的方法

    发请求有两种方式,一种是用ajax,另一种是用form提交,默认的form提交如果不做处理的话,会使页面...本篇文章通过实例给大家介绍基于iframe/FormData/FileReader三种无刷新上传文件的方法,感兴趣的朋友一起学习吧

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

    AJAX无法实现文件上传功能,原因是JavaScript安全限制不能对文件执行操作,但是通过IFRAME框架可以模拟实现无刷新效果。虽说是无刷新的,但状态栏会刷新一下。代码是一个JSP的示例。

    php+iframe实现隐藏无刷新上传文件

    首先ajax不能上传文件,这误导了我有段时间,今晚睡不着就照着说明做了个无刷新上传文件 其实原理很简单 复制代码 代码如下: &lt;form enctype=”multipart/form-data” method=”POST” target=”upload” action=...

    ajax实现文件上传

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

    无刷新 多文件上传插件

    在页面元素中include一个php文件,会在dom中增加一个上传文件的按钮,在dom尾部追加一个隐藏的iframe以及一个隐藏的form表单用于实现无刷新上传文件和调用页面js方法实现回调操作。 全部的配置在config.php

    PHP ajax upload无刷新上传图片文件

    PHP无刷新上传图片,Ajax图片无刷新新上传程序,可一次上传多张图片,批量上传图片,显示上传进度条,程序只允许GIF/JPG格式的图像上传,允许其它格式请修改代码,上传程序运行界面如图所示,界面简洁,功能实用,非...

    ASP.NET使用jquery插件无刷新上传文件

    使用jquery.ajaxfileupload.js实现无刷性上传文件,此插件的原理是在文档中创建iframe和form然后在将文件上传到服务器。在此感觉原创作者。

Global site tag (gtag.js) - Google Analytics