亚洲乱码卡一卡二卡三永久-亚洲乱码一二三四区-亚洲乱码一区二区三区在线观看-亚洲伦理一区-成人在色线视频在线观看免费大全-成人在线91

在網站WEB端及封裝APP網站做手機上傳圖片預覽特別是蘋果手機選擇圖片時,有拍照圖片選擇,一般HTML file表無法獲得用戶臨時拍照的圖片,這時可以用html5+jquery+canvas來實現,廢話不多說貼代碼。

    (function($){
            $.fn.extend({
                aiiUpload:function(obj)
                {
                    if(typeof obj !="object")
                    {
                        alert('參數錯誤');
                        return;
                    }
                    var imageWidth,imageHeight;
                    var base64;
                    var file_num=0;
                    var fileInput=$(this);
                    var fileInputId=fileInput.attr('id');
                    createDoc('#'+fileInputId,obj.method,obj.action);
                    $('#aii_file').change(function(){
                        if(test(this.value)==false)
                        {
                            alert('格式錯誤');
                            return;
                        }
                        var objUrl = getObjectURL(this.files[0]);
                        if (objUrl) 
                        {
                            imgBefore(objUrl,file_num);
                            render(objUrl,obj.max_h,obj.max_w,file_num);
                            file_num++;
                        }
                    });
                }
            });
            function createDoc(objID,form_method,form_action)
            {
                var element=$(objID);
                element.append('<ul class="viewList"></ul>').append('<div class="fileBox"><input type="file"  id="aii_file" /><div class="file_bg"></div></div>').append('<form id="aii_upload_form" method="'+form_method+'" action="'+form_action+'"></form>').append('<canvas id="canvas"></canvas>');
            }
            function test(value)
            {
                var regexp=new RegExp("(.JPEG|.jpeg|.JPG|.jpg|.GIF|.gif|.BMP|.bmp|.PNG|.png)$",'g');
                return regexp.test(value);
            }
            function render(src,MaximgW,MaximgH,idnum)
            {
                var image=new Image();
                image.onload=function()
                {
                    var canvas=document.getElementById('canvas');
                    if(image.width>image.height)
                    {
                        imageWidth=MaximgW;
                        imageHeight=MaximgH*(image.height/image.width);
                    }
                    else if(image.width<image.height)
                    {
                        imageHeight=MaximgH;
                        imageWidth=MaximgW*(image.width/image.height);
                    }
                    else
                    {
                        imageWidth=MaximgW;
                        imageHeight=MaximgH;
                    }
                    canvas.width=imageWidth;
                    canvas.height=imageHeight;
                    var con=canvas.getContext('2d');
                    con.clearRect(0,0,canvas.width,canvas.height);
                    con.drawImage(image,0,0,imageWidth,imageHeight);
                    base64=canvas.toDataURL('image/jpeg',0.5).substr(22);
                    add_doc(base64,idnum);
                }
                image.src=src;
            };
            //建立一個可存取到該file的url
            function getObjectURL(file) {
                var url = null ; 
                if (window.createObjectURL!=undefined) { // basic
                    url = window.createObjectURL(file) ;
                } else if (window.URL!=undefined) { // mozilla(firefox)
                    url = window.URL.createObjectURL(file) ;
                } else if (window.webkitURL!=undefined) { // webkit or chrome
                    url = window.webkitURL.createObjectURL(file) ;
                }
                return url ; 
            }
            //預覽
            function imgBefore(objUrl,idnum) 
            {
                var li='<li class="view"><img src="'+objUrl+'" id="aiiImg_'+idnum+'" idnum="'+idnum+'" /><div class="close" onclick="img_remove(this);"></div></li>'
                $('.viewList').append(li);
                var img=$('#aiiImg_'+idnum);
                //預覽圖片居中 填滿 代碼
                console.log('asdfasdfasdf');
 
                img.load(function(){
                    var imgw=img.width(),
                        imgh=img.height();
                        console.log(imgw);
                        console.log(imgh);
                    if(imgw>imgh)
                    {
                        img.css('height','100%');
                        img.css('width','auto');
                        img.css('marginLeft',-(img.width()-img.height())/2+'px');
                    }
                    else if(imgw<imgh)
                    {
                        img.css('width','100%');
                        img.css('height','auto');
                        img.css('marginTop',-(img.height()-img.width())/2+'px');
                    }
                });
            }
 
            function add_doc (base,idnum)
            {
                $('#aii_upload_form').append('<input type="hidden" name="img[]" id="f_'+idnum+'" value="'+base+'"/>');
            }
        })(jQuery);
        function img_remove(element)
        {
            var num=$(element).prev().attr('idnum');
            $(element).parent().remove();
            $('#f_'+num).remove();
            console.log('asdf');
        }
 

以上是需要用到的JQUERY 下面是調用該jquery及我們點擊上傳圖片并預覽圖片代碼

<section class="section">  

    <div id="box"></div> 
    <p style="color:red;">*樣式修改請參考aiiUpload.css</p>
</section>  
 
<script type="text/javascript">  
    $('#box').aiiUpload({  
        method:'POST',  
        action:'form.php',  
        max_h:300,  
        max_w:300,  
        subText:'上傳圖片',  
        fileText:'選擇圖片'  
    });  
</script>  
查找 “add_doc(base64,idnum);”我們可以在上面添加自己的Ajax代碼如
$.post("action.php?user_id={$user_id}&member_user=member_img",{base64:base64},function(msg){  })
其中“base64”是我們的圖片文件,然后我們需要在PHP程序中處理獲取到的圖片文件
$base64 = $_REQUEST['base64'];  //獲取圖片碼
$IMG = base64_decode($base64);  //將獲取到的圖片碼轉義
 
$rand = rand(100, 999);
$pics_tow = date("YmdHis") . $rand . '.png';  //進行文件重命名
$pic_path_tow = "files/". $pics_tow;   //文件路徑控制
file_put_contents($pic_path_tow, $IMG);  //將轉義過的字符串寫入指定路徑下
將我們獲取到的文件名進行數據操作!
這樣從手機拍照的圖片就可以獲取并存入服務器及數據庫中了!

 

穩定

產品高可用性高并發

貼心

項目群及時溝通

專業

產品經理1v1支持

快速

MVP模式小步快跑

承諾

我們選擇聲譽

堅持

10年專注高端品質開發
  • 返回頂部
主站蜘蛛池模板: 欧美日韩国产一区二区 | 中文字幕一二区 | 欧美日韩国产成人综合在线影院 | 国产日韩亚洲不卡高清在线观看 | 一道本在线播放 | 免费观看欧美一区二区三区 | 国产精品成人网 | 日韩欧美中文字幕出 | 一级特黄色大片 | 最近中文2019字幕第二页 | 一本一本大道香蕉久在线精品 | 日韩免费高清 | 天堂婷婷 | 国产96在线| 亚洲天堂黄 | 国产日韩欧美在线播放 | 精品卡1卡2卡三卡免费网站 | 一级做α爱过程免费视频 | 日日爽天天干 | 午夜激情福利在线 | 日日草视频 | 国产黄大片在线观看视频 | 国产成人lu在线视频 | 在线播放人成午夜免费视频 | 国产盗摄一区二区欧美精品 | 毛片福利 | 亚洲国产一区在线观看 | 日韩版码免费福利视频 | 欧美在线观看视频网站 | 国产精品高清免费网站 | 好吊日在线视频 | 农村寡妇野外情一级毛片 | 欧美性bbbb| 久久狠狠干 | 精品国产人成在线 | 欧美很很干 | 欧美一级片免费在线观看 | 日韩在线中文字幕 | 看黄网站在线观看 | 亚洲日本aⅴ片在线观看香蕉 | 亚洲欧美日韩国产专区一区 |