laravel admin上传文件变成zip后缀了
在使用php laravel admin上传图片正常,但是上传file 文件时,回自动把文件后缀改为 .zip,有知道是怎么回事吗?
又遇到过得吗?怎背面解决
public function upload(): View|JsonResponse
{
if ($this->isDemo) return $this->error('演示环境下不允许修改');
if (request()->method() != 'POST') return $this->error();
$type = request()->input('type', '');
$data = [
'upload_type' => request()->post('upload_type', ''),
'file' => request()->file($type == 'editor' ? 'upload' : 'file'),
];
$uploadConfig = sysconfig('upload');
empty($data['upload_type']) && $data['upload_type'] = $uploadConfig['upload_type'];
$rules = [
'upload_type' => ['required', Rule::in(explode(',', $uploadConfig['upload_allow_type']))],
'file' => 'required',
];
$validator = Validator::make($data, $rules, [
'upload_type' => '指定上传类型有误',
'file' => '文件不能为空',
]);
if ($validator->fails()) {
return $this->error($validator->errors()->first());
}
$file = $type == 'editor' ? request()->upload : request()->file;
var_dump($file->extension());
die;
if (!in_array($file->extension(), explode(',', $uploadConfig['upload_allow_ext']))) {
return $this->error('上传文件类型不在允许范围');
}
if ($file->getSize() > $uploadConfig['upload_allow_size']) {
return $this->error('文件大小超过预设值');
}
$upload_type = $uploadConfig['upload_type'];
try {
$upload = UploadService::instance()->setConfig($uploadConfig)->$upload_type($file, $type);
} catch (\Exception $e) {
return $this->error($e->getMessage());
}
$code = $upload['code'] ?? 0;
if ($code == 0) {
return $this->error($upload['data'] ?? '');
} else {
return $type == 'editor' ? json(
[
'error' => ['message' => '上传成功', 'number' => 201,],
'fileName' => '',
'uploaded' => 1,
'url' => $upload['data']['url'] ?? '',
]
) : $this->success('上传成功', $upload['data'] ?? '');
}
}
var_dump($file->extension());
die;
打印文件后缀为zip,而不是我上传的真正文件格式