博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
base64图片上传,推到又拍云
阅读量:5082 次
发布时间:2019-06-13

本文共 3771 字,大约阅读时间需要 12 分钟。

Html部分

 

Js部分

//单文件上传    function previewFile(){        var file=document.getElementById('tou').files[0];        var reader=new FileReader();        reader.addEventListener('load',function(){            $.ajax({                type:'post',                url:'http://api.xxx.cn/api/up',                datatype:'josn',                data:{img:reader.result},                success:function(response){                    document.getElementById('nvhai').setAttribute('src','http://img.xxx.cn/'+response);                }            });            document.getElementById('nvhai').setAttribute('src',reader.result);        },false);        reader.readAsDataURL(file);    } function MorepreviewFile(){        var file=document.getElementById('moretou').files;        if(file.length>8){            $('.mo').html('选择的图片不能超过8张,请重新选择');            $('.mo').fadeIn('fast');            setTimeout(function(){                $('.mo').fadeOut('fast');            },1500)        }else{            for(var i=0;i
"); } } } }

 

Php部分

/**     * 上传图片并且又拍云 2017/3/3     * @param:img resource图片的base64代码,包含头文件     * @Return: array 是否上传成功呢     * @Author: xiaohu mr_xdh@qq.com     */    public function up()    {       $pic = I('img');       //解码上传       $pic_url =  pic_decode_base64($pic,'./upload/');       //推到又拍云       $qrcode = substr($pic_url, 1);       $upun = upimg($qrcode);       $this->ajaxreturn($upun);    }

函数库

//=============================================图片上传中心=base64/又拍云================================================    /**TODO 上传图片base64     * 上传的base64图片进行转换并上传     * @param  resource 图片的base64代码,包含头文件     * @param  string 上传的路径     * @return 图片地址     * @author 小虎 mr_xdh@qq.com     */    function pic_decode_base64($file,$path='./upload/')    {        // 获取图片        list($type, $data) = explode(',', $file);        // 判断图片类型        if(strstr($type,'image/jpeg')!=''){            $ext = '.jpg';        }elseif(strstr($type,'image/gif')!=''){            $ext = '.gif';        }elseif(strstr($type,'image/png')!=''){            $ext = '.png';        }        // 生成的文件名        $photo = $path.uniqid().$ext;        // 生成文件        $Temp = base64_decode($data);        $temp = gzinflate($Temp);        file_put_contents($photo, $Temp, true);        return $photo;    }    /**TODO 上传图片到又拍云     * 上传图片到又拍云     * @param  string $img     * @return string     */    function upimg($img)    {        set_time_limit(0);        ini_set('memory_limit', '512M');        $process = curl_init('http://v0.api.upyun.com/XXX/upload/' .date('Ymd'). $img);        // 上传操作        curl_setopt($process, CURLOPT_PUT, 1);        curl_setopt($process, CURLOPT_USERPWD, "XXX");        curl_setopt($process, CURLOPT_HEADER, 0);        curl_setopt($process, CURLOPT_TIMEOUT, 60);        // 本地待上传的图片文件        $local_file_path = '.' . $img;        $datas = fopen($local_file_path, 'r');        fseek($datas, 0, SEEK_END);        $file_length = ftell($datas);        fseek($datas, 0);        // 设置待上传图片的内容        curl_setopt($process, CURLOPT_INFILE, $datas);        // 设置待上传图片的长度        curl_setopt($process, CURLOPT_INFILESIZE, $file_length);        curl_setopt($process, CURLOPT_HTTPHEADER, array(            //'x-gmkerl-type: fix_width',            // 'x-gmkerl-value: 200',            'x-gmkerl-unsharp: true',            'Mkdir:true',        ));        curl_exec($process);        //  $info=curl_getinfo($process);        curl_close($process);        fclose($datas);        //删除图片        @unlink ('./'.$img);        return $img = '/upload/' .date('Ymd').$img;    }//=============================================END=====================================================================

 

转载于:https://www.cnblogs.com/henry-xu/p/6849615.html

你可能感兴趣的文章
第二阶段冲刺-01
查看>>
BZOJ1045 HAOI2008 糖果传递
查看>>
JavaScript 克隆数组
查看>>
eggs
查看>>
oracle 报错ORA-12514: TNS:listener does not currently know of service requested in connec
查看>>
python3 生成器与迭代器
查看>>
java编写提升性能的代码
查看>>
list 容器 排序函数.xml
查看>>
《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇03:暂停游戏》
查看>>
CPU,寄存器,一缓二缓.... RAM ROM 外部存储器等简介
查看>>
windows下编译FreeSwitch
查看>>
git .gitignore 文件不起作用
查看>>
Alan Turing的纪录片观后感
查看>>
c#自定义控件中的事件处理
查看>>
django Models 常用的字段和参数
查看>>
IOS--沙盒机制
查看>>
使用 JointCode.Shuttle 访问任意 AppDomain 的服务
查看>>
sqlite的坑
查看>>
digitalocean --- How To Install Apache Tomcat 8 on Ubuntu 16.04
查看>>
【题解】[P4178 Tree]
查看>>