更新获公共接口
This commit is contained in:
parent
11a79d6cf2
commit
5c06e970c2
|
@ -136,4 +136,95 @@ class Common extends ApiController
|
||||||
$count = Db::name('DataAuth')->where($map)->count();
|
$count = Db::name('DataAuth')->where($map)->count();
|
||||||
return $count;
|
return $count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//上传文件
|
||||||
|
public function upload()
|
||||||
|
{
|
||||||
|
$uid = JWT_UID;
|
||||||
|
$sourse = 'file';
|
||||||
|
if(isset($param['sourse'])){
|
||||||
|
$sourse = $param['sourse'];
|
||||||
|
}
|
||||||
|
if($sourse == 'file' || $sourse == 'tinymce'){
|
||||||
|
if(request()->file('file')){
|
||||||
|
$file = request()->file('file');
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$this->apiError('没有选择上传文件');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
if (request()->file('editormd-image-file')) {
|
||||||
|
$file = request()->file('editormd-image-file');
|
||||||
|
} else {
|
||||||
|
$this->apiError('没有选择上传文件');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 获取上传文件的hash散列值
|
||||||
|
$sha1 = $file->hash('sha1');
|
||||||
|
$md5 = $file->hash('md5');
|
||||||
|
$rule = [
|
||||||
|
'image' => 'jpg,png,jpeg,gif',
|
||||||
|
'doc' => 'txt,doc,docx,ppt,pptx,xls,xlsx,pdf',
|
||||||
|
'file' => 'zip,gz,7z,rar,tar',
|
||||||
|
'video' => 'mpg,mp4,mpeg,avi,wmv,mov,flv,m4v',
|
||||||
|
];
|
||||||
|
$fileExt = $rule['image'] . ',' . $rule['doc'] . ',' . $rule['file'] . ',' . $rule['video'];
|
||||||
|
//1M=1024*1024=1048576字节
|
||||||
|
$fileSize = 100 * 1024 * 1024;
|
||||||
|
if (isset($param['type']) && $param['type']) {
|
||||||
|
$fileExt = $rule[$param['type']];
|
||||||
|
}
|
||||||
|
if (isset($param['size']) && $param['size']) {
|
||||||
|
$fileSize = $param['size'];
|
||||||
|
}
|
||||||
|
$validate = \think\facade\Validate::rule([
|
||||||
|
'image' => 'require|fileSize:' . $fileSize . '|fileExt:' . $fileExt,
|
||||||
|
]);
|
||||||
|
$file_check['image'] = $file;
|
||||||
|
if (!$validate->check($file_check)) {
|
||||||
|
$this->apiError($validate->getError());
|
||||||
|
}
|
||||||
|
// 日期前綴
|
||||||
|
$dataPath = date('Ym');
|
||||||
|
$use = 'thumb';
|
||||||
|
$filename = \think\facade\Filesystem::disk('public')->putFile($dataPath, $file, function () use ($md5) {
|
||||||
|
return $md5;
|
||||||
|
});
|
||||||
|
if ($filename) {
|
||||||
|
//写入到附件表
|
||||||
|
$data = [];
|
||||||
|
$path = get_config('filesystem.disks.public.url');
|
||||||
|
$data['filepath'] = $path . '/' . $filename;
|
||||||
|
$data['name'] = $file->getOriginalName();
|
||||||
|
$data['mimetype'] = $file->getOriginalMime();
|
||||||
|
$data['fileext'] = $file->extension();
|
||||||
|
$data['filesize'] = $file->getSize();
|
||||||
|
$data['filename'] = $filename;
|
||||||
|
$data['sha1'] = $sha1;
|
||||||
|
$data['md5'] = $md5;
|
||||||
|
$data['module'] = \think\facade\App::initialize()->http->getName();
|
||||||
|
$data['action'] = app('request')->action();
|
||||||
|
$data['uploadip'] = app('request')->ip();
|
||||||
|
$data['create_time'] = time();
|
||||||
|
$data['user_id'] = $uid;
|
||||||
|
if ($data['module'] = 'admin') {
|
||||||
|
//通过后台上传的文件直接审核通过
|
||||||
|
$data['status'] = 1;
|
||||||
|
$data['admin_id'] = $data['user_id'];
|
||||||
|
$data['audit_time'] = time();
|
||||||
|
}
|
||||||
|
$data['use'] = request()->has('use') ? request()->param('use') : $use; //附件用处
|
||||||
|
$res['id'] = Db::name('file')->insertGetId($data);
|
||||||
|
$res['filepath'] = $data['filepath'];
|
||||||
|
$res['name'] = $data['name'];
|
||||||
|
$res['filename'] = $data['filename'];
|
||||||
|
$res['filesize'] = $data['filesize'];
|
||||||
|
$res['fileext'] = $data['fileext'];
|
||||||
|
add_log('upload', $data['user_id'], $data,'文件');
|
||||||
|
$this->apiSuccess('上传成功', $res);
|
||||||
|
} else {
|
||||||
|
$this->apiError('上传失败,请重试');
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue