官方上传
uni.uploadFile({
url: 'https://unidemo.dcloud.net.cn/upload',
filePath: imageSrc,
fileType: 'image',
name: 'file',
success: (res) => {
console.log('uploadImage success, res is:', res)
uni.showToast({
title: '上传成功',
icon: 'success',
duration: 1000
})
this.imageSrc = imageSrc
},
fail: (err) => {
console.log('uploadImage fail', err);
uni.showModal({
content: err.errMsg,
showCancel: false
});
}
});
如果后台需要登录验证信息,则会返回错误,需要添加头部token信息
uni.uploadFile({
url: 'https://unidemo.dcloud.net.cn/upload',
filePath: imageSrc,
fileType: 'image',
name: 'file',
header: {
"content-type": "application/json;charset=UTF-8",
'Authorization':'Bearer ' + uni.getStorageSync('_token').access_token,
},
success: (res) => {
......
后台接收
if ($this->request->hasFile('file')) {
$file= $this->request->file('file');
$disk = \Storage::disk('qiniu');
$fileName = time().rand(1111,9999).'.'.$file->getClientOriginalExtension();
$bool = $disk->put($fileName,file_get_contents($file->getRealPath()));
// 判断是否上传成功
if ($bool) {
return $fileName;
}
return '上传失败';
}
return false;
其他安全验证需要再加深一些
如果有更方便的请赐教!