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>";

     

    ?>

     

     

     

     

     

  • 相关阅读:
    洛谷P2045 K方格取数(算竞进阶习题)
    洛谷P2764 最小路径覆盖问题
    BZOJ 1051 受欢迎的牛
    BZOJ 4196 软件包管理器
    跨域知识(一)——CORS
    CSS 实现隐藏滚动条同时又可以滚动
    数组map用法总结
    js和Jquery获取选中select值和文本
    closest和parents方法区别
    CSS面试题总结2(转)
  • 原文地址:https://www.cnblogs.com/lihaiyan/p/4274311.html
Copyright © 2011-2022 走看看