1.微信小程序
onChangeTap(e){
var _that = this;
//获取当前图片路径
var image = e.detail.current[0]
app.checkToken();//刷新token
var token = wx.getStorageSync('token')
var url = app.globalData.url+'/admin/zone/uploads?token='+token
//上传七牛云
wx.uploadFile({
filePath: image,//图片路径
name: 'img',//form表单的name值
url: url,//接口地址
success:function(e){
var json = JSON.parse(e.data)
var arr = _that.data.imgs;
arr.push(json.data)
_that.setData({
imgs:arr
})
}
})
console.log(this.data.imgs)
},
2.后端处理
//七牛云文件上传
public function imgOssUploads(){
$file = request()->file('img')->getInfo();//五个下标
$accessKey = config('accessKey');
$secretKey = config('secretKey');
$bucket = 'gdwbook';
// 构建鉴权对象
$auth = new Auth($accessKey, $secretKey);
// 生成上传 Token
$token = $auth->uploadToken($bucket);
// 要上传文件的本地路径(文件的临时路径)
$filePath = $file['tmp_name'];
// 上传到存储后保存的文件名
$key = rand(10000,99999).'.png';
// 初始化 UploadManager 对象并进行文件的上传。
$uploadMgr = new UploadManager();
// 调用 UploadManager 的 putFile 方法进行文件的上传。
list($ret, $err) = $uploadMgr->putFile($token, $key, $filePath);
if ($err !== null) {
return json(['code'=>1,'msg'=>$err,'data'=>null]);
} else {
$oss_img = 'http://qyn4yvtat.hn-bkt.clouddn.com/'.$ret['key'];
return json(['code'=>0,'msg'=>'成功','data'=>$oss_img]);
}
}