PHP建站技术分享-从入门到精通PHP建站技术分享-从入门到精通PHP建站技术分享-从入门到精通

QQ:420220301 微信/手机:150-3210-7690
当前位置:首页 > CMS教程 > Fastadmin

FastAdmin 小程序直传 阿里云OSS

管理员 2024-12-14
Fastadmin
9

下载阿里云OSS相关文件(都推荐composer 安装,但我捣鼓了半天,安装不成功,这里直接下载github上的包吧点我前往github下载)

整个文件下载下来后我们直接丢入根目录的 vendor 下面,这里我起名为 aliyunoss

image.png

小程序前端代码

    var that = this;    wx.chooseImage({      count: 9,      sourceType: ['album', 'camera'],      success: function(res) {        for (var i = 0; i < res.tempFilePaths.length; i++) {          wx.uploadFile({            url: '请求路径',            filePath: res.tempFilePaths[i],            name: 'file',            formData: {                          },            success: function(res) {              wx.hideLoading();              var backdata = JSON.parse(res.data);              console.log(backdata)            }          })        }      }    })

api后代部分代码(uploadUpload.php)

<?phpnamespace appapicontrollerupload;use appcommoncontrollerApi;class Upload extends Api{    protected $noNeedLogin = ['*'];    protected $noNeedRight = ['*'];    protected $accessKeyId = '填写你的accessKeyId';    protected $accessKeySecret = '填写你的accessKeySecret';    protected $endpoint = '填写你的endpoint';    protected $bucket = '填写你的bucket';    public function _initialize()    {        parent::_initialize();    }    public function upload(){        $file = $this->request->file('file');        $imgurl = $this->ossUploadFile($file)['imgurl'];            $this->success('上传成功', ['imgurl' => $imgurl], 0);    }    public function ossUploadFile($file)    {        Vendor('aliyunoss.autoload');                // $resResult = Image::open($file);        // 尝试执行        try {            // $config = Config::pull('alioss'); //获取Oss的配置            //实例化对象 将配置传入            $ossClient = new OSSOssClient($this->accessKeyId, $this->accessKeySecret, $this->endpoint);             //这里是有sha1加密 生成文件名 之后连接上后缀,后缀应该用Image类获取,这里仅供参考写死jpg文件            $fileName = 'img/' . sha1(date('YmdHis', time()) . uniqid()) . '.jpg';            //执行阿里云上传            $result = $ossClient->uploadFile($this->bucket, $fileName, $file->getInfo()['tmp_name']);            /**             * 这个只是为了展示             * 可以删除或者保留下做后面的操作             */            $arr = [                //图片地址                'imgurl' => $result['info']['url'],                //数据库保存名称                'dbimgName' => $fileName            ];        } catch (OssException $e) {            return $e->getMessage();        }        //将结果输出        return $arr;    }}

希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, Fastadmin, ClassCMS, LeCMS, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。

相关推荐

扫码关注

qrcode

QQ交谈

回顶部