上传前先执行composer安装包进行扩展安装
composer require qiniu/php-sdk
1.wxml
此处我是引入的linui组件,连接如下
<l-image-picker count="9" bind:linchange="onChangeTap" class="lis"/>
2.js
onChangeTap(e){
//获取所有图片
let image = e.detail.all
console.log(image)
for(let i=0;i<image.length;i++){
wx.uploadFile({
//单个图片
filePath: image[i],
name: 'file',
url: 'http://www.wenk.com/index.php/admin/filephoto',
success(res){
console.log(res)
}
})
}
},
打印的所有图片
3.上传图片API接口
public function filephoto(){
//获取上传的文件
$image = \request()->file('file');
//图片存储在本地的路径
$filePath = $image->getRealPath();
//获取图片后缀
$ext = $image->getOriginalExtension();
//上传到七牛云后保存的新图片名
$newImageName = md5(rand(11111,99999).time()). '.' .$ext;
//上七牛云登录注册获取ak/sk秘钥
$auth = new \Qiniu\Auth('ak秘钥','sk秘钥');
//要上传的空间名称、自己创建的空间
$token = $auth->uploadToken('空间名');
//初始化UploadManager 对象并进行文件的上传
$uploadMgr = new UploadManager();
list($ret,$err) = $uploadMgr->putFile($token,$newImageName,$filePath);
if ($err !== null){
return json(['code' => 500,'msg' => '文件上传失败']);
}else{
//图片上传成功返回地址
$img_url = 'http://域名/'.$ret['key'];
return $img_url;
}
预览效果
七牛云空间