zoukankan      html  css  js  c++  java
  • Ajax_iframe文件上传

    Ajax_iframe文件上传

    2015-02-01 12:00

     

    js 无法实现

    文件的上传几种伪装

    1. iframe伪装,jquery.uploaded-file
    2. swf插件
    3. html5

    前两种只是一种模拟无刷新的效果

     

    第一种:Iframe实现文件上传

    IframeFileUp.php:

    <?php

    if(empty($_FILES)){

        exit('no file');

    }

    $error = $_FILES['pic']['error']==0 ?'文件上传成功' : '文件上传失败';

    //上传成功

    echo "<script>parent.document.getElementsByTagName('h2')[0].innerHTML = '$error'</script>";

    ?>

     

    IframeFileUp.html:

    <html>

        <head>

            <title>iframe文件上传</title>

            <script type="text/javascript" src="./jquery.min.js"></script>

            <script type="text/javascript">

    /*分析:

      1.捕捉表单提交的动作

      2.创建一个iframe

      3。把表单的target指向该iframe

      4.去掉这个iframe

     */

    function ajaxup(){

            //创建一个iframe并追加到body下面

        var ifname='up'+Math.random();

        $('<iframe name="' +ifname + '" width="0" height="0" frameBorder="0" ></iframe>').appendTo($('body'));

            //把表单target修改指向iframe

        $('form:first').attr('target',ifname);  

        //return false;

    }

            </script>

            <style type="text/css">

                p{border:1px solid gray;};

            </style>

        </head>

        <body>

            <h1>iframe模拟Ajax文件上传效果</h1>

            <h2></h2>

            <form action="IframeFileUp.php" method="post" enctype="multipart/form-data" onsubmit="return ajaxup();">

                <p><input type="file" name="pic"  /></p>

                <p><input type="submit" value="提交"/></p>

            </form>

        </body>

    </html>

     

     

     

     

     

     

     

     

    2015-02-02

    //增加加载图片效果,告诉用户正在上传

    修改上面的script代码,html如下

    <html>

        <head>

            <title>iframe文件上传</title>

            <script type="text/javascript" src="./jquery.min.js"></script>

            <script type="text/javascript">

    /*分析:

      1.捕捉表单提交的动作

      2.创建一个iframe

      3。把表单的target指向该iframe

      4.去掉这个iframe

     */

    function ajaxup(){

            //创建一个iframe并追加到body下面

        var ifname='up'+Math.random();

        $('<iframe name="' +ifname + '" width="0" height="0" frameBorder="0" ></iframe>').appendTo($('body'));

            //把表单target修改指向iframe

        $('form:first').attr('target',ifname);  

        //加入进度条图片

        $('#progress').html('<img src="./load.gif" />');

        //return false;

    }

            </script>

            <style type="text/css">

                p{border:1px solid gray;};

            </style>

        </head>

        <body>

            <h1>iframe模拟Ajax文件上传效果</h1>

            <h2></h2>

            <div id="progress"></div>

            <form action="IframeFileUp.php" method="post" enctype="multipart/form-data" onsubmit="return ajaxup();">

                <p><input type="file" name="pic"  /></p>

                <p><input type="submit" value="提交"/></p>

            </form>

        </body>

    </html>

     

     

    php代码如下:

    <?php

    if(empty($_FILES)){

        exit('no file');

    }

    $error = $_FILES['pic']['error']==0 ?'文件上传成功' : '文件上传失败';

    //上传成功

    //sleep(3);

    //cho "<script>parent.document.getElementsByTagName('h2')[0].innerHTML = '$error'</script>";

    echo "<script>parent.document.getElementById('progress').innerHTML = '<h2>$error</h2>'</script>";

     

    ?>

     

     

     

     

     

  • 相关阅读:
    敏捷个人手机应用:如何下载敏捷个人资料
    2014年8月10日:敏捷个人奥森跑步+慢走分享
    敏捷个人手机应用:如何进行敏捷个人练习
    敏捷个人新体系:定位
    任何社区,只要能影响他人成长的人,都可以成为敏捷个人的荣誉会员
    亲密爱人:《亲密关系》读书笔记
    亲密爱人:《亲密关系
    2014.7.12 敏捷个人奥森健步走&敏友分享会.活动报道
    开放产品开发(OPD):产品负责人的工作原则和方法
    #敏捷个人资料# 免费下载 《敏捷个人-认识自我,管理自我 v0.8.pdf》
  • 原文地址:https://www.cnblogs.com/lihaiyan/p/4274311.html
Copyright © 2011-2022 走看看