vue JS
export const fileUpload = (File) => {
let formData = new FormData();
formData.append('image',File)
return axios.request({
url: `admin/upload/logo`,
data: formData,
method: 'post',
headers: {
'Content-Type': 'multipart/form-data',
}
})
}
php后端
$file = request()->file('image');
$authMime = [
'image/jpeg',
'image/jpeg',
'image/png',
'image/gif'
];
if (!(array_search($file->getOriginalMime(), $authMime) > -1)) {
$this->error('只允许上传jpg/png/gif图片', $file->getOriginalMime());
}
if ($file->getSize() > 3 * 1048576) {
$this->error('只允许上传3mb以内的图片');
}
$fileRealName = pathinfo($file->getOriginalName());
$authType = [
'jpg',
'jpeg',
'png',
'gif'
];
if (!(array_search($fileRealName['extension'], $authType)) > -1) {
$this->error('只允许上传jpg/png/gif图片', $fileRealName['extension']);
}
$name = '/storage/' . \think\facade\Filesystem::disk('public')->putFile('logo/'.date('Y-m-d-H-i-s',time()), $file, 'md5');
$name = str_replace('\\', '/', $name);
$savename = $name;
$this->success('上传成功', $savename);