调取微信上传图片接口

Posted 怪咖咖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了调取微信上传图片接口相关的知识,希望对你有一定的参考价值。

upload.html

<div class="ch0_btn col-35" @click="uploadImage">+添加图片(选填)</div>
<input type="hidden" id="midia_id">

upload.js

$$(document).on(‘click‘,"#uploadImage",function () {
        wx.chooseImage({
            count: 1, // 默认9
            sizeType: [‘compressed‘], // 可以指定是原图还是压缩图,默认二者都有
            success: function (res) {
                var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片

                //判断选择的照片张数
                if (localIds.length > 1) {
                    myApp.alert("亲,请选择一张照片");
                    return;
                }
                wx.uploadImage({
                    localId: localIds[0].toString(), // 需要上传的图片的本地ID,由chooseImage接口获得
                    isShowProgressTips: 1, // 默认为1,显示进度提示
                    success: function (res) {
                        var serverId = res.serverId; // 返回图片的服务器端ID

                        //保存图片

                        $$.post("{:url(‘Chuti/upload‘)}",
                        {
                            serverId: serverId
                        },
                        function (data) {
                            $$("#media_id").val(data);
                        });

                        myApp.alert("上传成功!");
                    }
                });
            }
        });
    });

upload.php

/**
     * 微信图片上传接口
     * @return mixed
     */
    public function saveImg() {

        //获得多个图片的链接
        $pic = $_POST[‘serverId‘];
        //判断文件夹以及路径是否存在
        if (!file_exists($_SERVER[‘DOCUMENT_ROOT‘] . ‘/public/uploads/dati/images‘) || !is_dir($_SERVER[‘DOCUMENT_ROOT‘] . ‘/public/uploads/dati/images‘)) {
            //不存在就创建文件夹
            mkdir($_SERVER[‘DOCUMENT_ROOT‘] . ‘/public/uploads/dati/images‘, 511);
        }

        //判断子文件夹vote以及路径是否存在
        $firstLetterDir = $_SERVER[‘DOCUMENT_ROOT‘] . ‘/public/uploads/dati/images‘;
        if (!file_exists($firstLetterDir) || !is_dir($firstLetterDir)) {
            //不存在就创建子文件夹
            mkdir($firstLetterDir, 511);
        }

        //以日期为文件夹命名
        $sub_dir = date(‘Ymd‘);
        $firstLetterDir = $_SERVER[‘DOCUMENT_ROOT‘] . ‘/public/uploads/dati/images/‘ . $sub_dir;
        //判断子文件夹$sub_dir以及路径是否存在
        if (!file_exists($firstLetterDir) || !is_dir($firstLetterDir)) {
            mkdir($firstLetterDir, 511);
        }

        //下面开始上传文件到服务器
        //文件名
        $file_name = date(‘YmdHis‘) . ‘_‘ . rand(10000, 99999) . ‘.jpg‘;

        //文件真实路径
        $pic_wall_save_path = $_SERVER[‘DOCUMENT_ROOT‘] . ‘/public/uploads/dati/images/‘ . $sub_dir . ‘/‘ . $file_name;//这里执行了
//获取微信token

$wechat = wechat();
$token = $wechat->checkAuth();
        //文件存到数据库的路径
//            $file_web_path = C(‘site_url‘) . ‘/Uploads/editorNew/‘ . $sub_dir . ‘/‘ . $file_name;
        //获取文件内容
//        $accessToken = get_access_token();//这里不执行
        $url = ‘http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=‘ . $token . ‘&media_id=‘ . $pic;

        //把文件内容转化为字符串
        $imgdata = file_get_contents($url);//返回 空值
//        echo $imgdata;
        //打开指定文件
        $fp = fopen($pic_wall_save_path, ‘w‘);//这里没有输出
        //开始写入文件
        fwrite($fp, $imgdata);
//            $pics[] = $file_web_path;
        //关闭文件
        fclose($fp);

        echo ‘/public/uploads/dati/images/‘ . $sub_dir . ‘/‘ . $file_name;

        die;
    }

 




以上是关于调取微信上传图片接口的主要内容,如果未能解决你的问题,请参考以下文章

Android webview调取安卓原生相机和相册上传图片

asp微信jssdk上传图片,asp上传自动压缩图片,是通过微信上传的

vue-hbuilder打包-调取摄像头或上传图片

微信小程序用户上传用户图片数据太大,怎么样能降低图片像素

调微信接口上传图片

原创.Net 微信 JS-SDK图片语音上传接口的实现(MVC)-(二 上传图片服务器操作)