微信小程序端:
onChangeTap:function(e){
let Imgs = e.detail.current;
let token = wx.getStorageSync('token');
wx.uploadFile({
filePath: Imgs[0],
name: 'file',
url: 'http://www.week3.com/index.php/api/upimg',
header:{
'content-type':"application/json",
'Access-Control-Allow-Origin':'*',
'Authorization':`Bearer ${token}`
},
success:res=>{
console.log(res)
}
})
},
PHP端创建服务层来封装上传阿里云方法:
创建服务层参考:Laravel框架:通过自定义命令创建service服务层初体验 控制器层接收小程序传来的图片方法:
$pathName = $request->file('file')->getPathname();
调用服务层上传方法:
public static function upimgs($pathName)
{
$accessKeyId = "LTAI5t6P9QfQTMB2FmifqGdj";
$accessKeySecret = "Hgmd98Fgsas1LZ4qgCzMOK8AQ6d1Mt";
$endpoint = "http://oss-cn-shanghai.aliyuncs.com";
$bucket = "zhaonames-shanghai";
$fileName = md5(time().$pathName.rand(1111,9999));
$object = date('Y-m-d',time()).'/'.$fileName.'png';
try {
$ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
$url = $ossClient->uploadFile($bucket,$object,$pathName)['info']['url'];
$stdData = [
'code' => 0,
'msg' => '操作成功',
'data' => ['url'=>$url]
];
return $stdData;
} catch (OssException $e) {
print $e->getMessage();
}
}
|