日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

下面給大家介紹thinkphp ajaxfileupload異步上傳圖片方法,希望對需要的朋友有所幫助!

thinkphp ajaxfileupload 異步上傳圖片

thinkphp開發圖片上傳,圖片異步上傳是目前比較方便的功能,這里我就不寫css文件了,將代碼寫出來。

引入核心文件下載 https://github.com/carlcarl/AjaxFileUpload

HTML

下面首先在html頁面引入相關js資源

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>圖片上傳</title> 
    <script type="text/javascript" src="js/jquery-1.8.2.min.js"></script>
    <script type="text/javascript" src="js/ajaxfileupload.js"></script>   
</head>
<body>
</body>
</html>

接下來在body中創建相關p

<label class="title w100">封面圖片:</label>
<p class="f_l">
    <label class="fileupload" onclick="upd_file(this,'image_file');">
        <input type="file" class="filebox" name="image_file" id="image_file"/>
        <!--上傳成功后圖片會給value賦值圖片路徑,以便于form表單提交數據-->
        <input type="hidden" name="image" value="">                        
    </label>
    <label class="fileuploading hide" ></label>                    
</p>
<p class="blank15"></p>
<!--上傳成功后圖片會在這里顯示否則是默認圖片-->
<img id="image" src="/Public/images/empty_thumb.gif" />

解釋一下:

其中upd_file(this,'image_file')不可缺少

其中隱藏的input 是用于上傳成功后賦值圖片路徑,以便于form表單提交數據

接下來在html中編輯javascript腳本以便于傳遞和提交圖片功能

<script>
function upd_file(obj,file_id){    
$("input[name='"+file_id+"']").bind("change",function(){            
    $(obj).hide();
    $(obj).parent().find(".fileuploading").removeClass("hide");
    $(obj).parent().find(".fileuploading").removeClass("show");
    $(obj).parent().find(".fileuploading").addClass("show");
        $.ajaxFileUpload(
            {
                url:'/index.php/home/avatar/app_upload_image',//上傳圖片處理文件
                secureuri:false,
                fileElementId:file_id,
                dataType: 'json',
                success: function (data, status)
                {
                    $(obj).show();
                    $(obj).parent().find(".fileuploading").removeClass("hide");
                    $(obj).parent().find(".fileuploading").removeClass("show");
                    $(obj).parent().find(".fileuploading").addClass("hide");
                    if(data.status==1){
                        $("#image").attr("src",data.thumb_url+"?r="+Math.random());                               
                        $("input[name='image']").val(data.url);//返回json后將隱藏input賦值
                        //$("#img_url").html('<input type="hidden" name="img_url" value="'+ path.path +'" />');
                    } else {
                        $.showErr(data.msg);
                    }
                },
                error: function (data, status, e)
                {
                    $.showErr(data.responseText);;
                    $(obj).show();
                    $(obj).parent().find(".fileuploading").removeClass("hide");
                    $(obj).parent().find(".fileuploading").removeClass("show");
                    $(obj).parent().find(".fileuploading").addClass("hide");
                }
            }
        );
        $("input[name='"+file_id+"']").unbind("change");
    });    
}
<script>

thinkphp 中創建方法 app_upload_image()

function app_upload_image($maxSize=52428800){
    $id=session('id');
    $config=array(
        'rootPath'  =>'Upload',         //文件上傳保存的根路徑
        'savePath'  =>'/avatar/',   
        'exts'      => array('jpg', 'gif', 'png', 'jpeg','bmp'),
        'maxSize'   => $maxSize,
        'autoSub'   => true,
    );
    $upload = new \Think\Upload($config);// 實例化上傳類
    $z = $upload->uploadOne($_FILES['image_file']);
    if($z) {
        //拼接圖片的路徑名
        $img='/Upload'.$z['savepath'].$z['savename'];
        $_POST['image_file']=$img;
        //獲取上傳圖片絕對路徑
        $imgsrc=$_SERVER['DOCUMENT_ROOT'].__ROOT__.$_POST['image_file'];
        $image = new \Think\Image(); 
        $image->open($imgsrc);
        //將圖片裁剪為400x400并保存為corp.jpg
        $image->thumb(205, 160,\Think\Image::IMAGE_THUMB_CENTER)->save($imgsrc);
 
        $this->ajaxReturn(array("thumb_url"=>$img,"url"=>$img,"status"=>1));
    }
}

OK這樣就好了,首先和大家說一下,如果ajaxfileupload.js報錯程序是不會跑通的,如果你的程序報錯就檢查你的ajaxfileupload文件是不是版本的問題。


分享到:
標簽:thinkphp ajaxfileupload 異步上傳圖片
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定