• jquery 无刷新上传的小function


    function zll_up(click_id,up_url,text_id,show_id){
        this.create = function(){}
        //当点击指定元素时,创建iframe form input(file)等元素
        $("#"+click_id).click(function(){
            console.log('click');
            $("body").append("<form action='"+up_url+"' method='post' enctype='multipart/form-data' target='iframe_"+click_id+"' style='display:none;' name='form_"+click_id+"' id='form_"+click_id+"'><input type='file' name='tupian_"+click_id+"' id='tupian_"+click_id+"'></form>");
            $("body").append("<iframe style='display:none;' name='iframe_"+click_id+"' id='iframe_"+click_id+"'></iframe>");
            
            $('#tupian_'+click_id).change(function(){
                console.log('change');
                var file = document.getElementById("tupian_"+click_id).files[0];
                var reader = new FileReader(); 
                reader.readAsDataURL(file); 
                 reader.onload = function(evt){ 
                 $("#"+show_id).html('<img style="100%;height:100%;" src="' + evt.target.result + '" />');
                } 
                $("#form_"+click_id).submit();
            });
            
            $("#iframe_"+click_id).on("load",function(){
                console.log('load');
                var data = $(window.frames['iframe_'+click_id].document.body).find("textarea").html();
                console.log(data);
                $("#"+text_id).val(data);
                //当上传完成时删除之前创建的元素
                console.log('remove');
                $("#iframe_"+click_id).remove();
                $("#form_"+click_id).remove();
            });
            
            $("#tupian_"+click_id).click();
        });
    }

    js代码

    <div class="control-group">
                            <label class="control-label item-label" >上传图片 (750*1525)<span class="check-tips"></span></label>
                            <div class="controls uploadrow2" data-max="1" title="点击修改图片" rel="cover" id="upclick">
                                <input type="hidden" name="img" id="img" value="{$art.img}">
                                <div class="upload-img-box" rel="img" id="imgshow" style="height:auto;">
                                    <if condition="!empty($art['img'])">
                                        <img src="__UPLOADS__/{$art.img}"/>
                                    </if>
                                </div>
                            </div>
                        </div>
    <script type="text/javascript" src="引入上面的js代码"></script>
    <script type="text/javascript">
           zll_up("upclick","{:U("$con_name/z_upload")}","img","imgshow");
    </script>

    html代码

    function z_upload(){
            //单文件上传
            //公用上传函数 zll 2017-6-7 11:35:44
            //用于iframe的无刷新上传
            $config = array(
                    'maxSize'    =>    3145728,
                    'rootPath'   =>    './Uploads/',
                    'savePath'   =>    '',
                    'saveName'   =>    array('uniqid',''),
                    'exts'       =>    array('jpg', 'gif', 'png', 'jpeg'),
                    'autoSub'    =>    true,
                    'subName'    =>    array('date','Ymd'),
                );
                $upload = new ThinkUpload($config);// 实例化上传类
                $info = $upload->upload();
                if(!$info) {
                    // 上传错误提示错误信息
                    //    echo $upload->getError();
                    echo "<textarea>error</textarea>";
                }else{// 上传成功
                    echo "<textarea>".$info[array_keys($info)[0]]['savepath'].$info[array_keys($info)[0]]['savename']."</textarea>";
                }
        }

    PHP代码(thinkphp3.2.3)

  • 相关阅读:
    Git最强总结!
    强烈IDEA这些插件,让你的开发速度飞起来!
    MySQL执行计划【explain】详解
    设置php在apache下加载ini配置文件路径,~和curl扩展无法加载的问题
    远程连接mysql数据慢的问题
    在windows下,git webhook使用php拉取代码的学习总结
    centos 添加epel、remi仓库和ELRepo仓库
    windows下mysql数据库表名大小写不敏感
    .gitignore无效,不能过滤某些文件
    编译php时,出错bad interpreter
  • 原文地址:https://www.cnblogs.com/zonglonglong/p/7066163.html
Copyright © 2020-2023  润新知