完成文件上传添加到文件记录;

This commit is contained in:
2022-07-11 17:52:25 +08:00
parent 3078dfad39
commit a2f8a58d38
2 changed files with 29 additions and 2 deletions

View File

@@ -2,9 +2,11 @@
namespace app\common\service; namespace app\common\service;
use app\admin\model\SystemUploadfile;
use think\facade\Filesystem; use think\facade\Filesystem;
use think\facade\Validate; use think\facade\Validate;
use think\File; use think\File;
use think\file\UploadedFile;
class UploadService class UploadService
{ {
@@ -31,7 +33,7 @@ class UploadService
if (!is_null($allow_size)) { if (!is_null($allow_size)) {
$uploadConfig['upload_allow_size'] = $allow_size; $uploadConfig['upload_allow_size'] = $allow_size;
} }
$rule = [ $rule = [
'upload_type|指定上传类型有误' => "in:{$uploadConfig['upload_allow_type']}", 'upload_type|指定上传类型有误' => "in:{$uploadConfig['upload_allow_type']}",
'file|文件' => "require|file|fileExt:{$uploadConfig['upload_allow_ext']}|fileSize:{$uploadConfig['upload_allow_size']}", 'file|文件' => "require|file|fileExt:{$uploadConfig['upload_allow_ext']}|fileSize:{$uploadConfig['upload_allow_size']}",
@@ -51,6 +53,21 @@ class UploadService
public function save(File $file) public function save(File $file)
{ {
$model_file = new SystemUploadfile();
$model_file->upload_type = $this->uploadType;
$model_file->file_ext = strtolower($file->extension());
if ($file instanceof UploadedFile) {
$model_file->original_name = $file->getOriginalName();
$model_file->mime_type = $file->getOriginalMime();
} else {
$model_file->original_name = $file->getFilename();
$model_file->mime_type = $file->getMime();
}
$save_name = Filesystem::disk($this->uploadType)->putFile('upload', $file, function () { $save_name = Filesystem::disk($this->uploadType)->putFile('upload', $file, function () {
return date('Ymd') . DIRECTORY_SEPARATOR . uniqid(); return date('Ymd') . DIRECTORY_SEPARATOR . uniqid();
@@ -58,6 +75,15 @@ class UploadService
$url = build_upload_url($save_name); $url = build_upload_url($save_name);
$model_file->url = $url;
$model_file->save_name = $save_name;
$model_file->sha1 = $file->sha1();
$model_file->file_size = $file->getSize();
$model_file->save();
return [ return [
'url' => $url, 'url' => $url,
'save_name' => $save_name 'save_name' => $save_name

View File

@@ -32,7 +32,8 @@ class SystemUploadfile extends Migrator
->setComment('上传文件表') ->setComment('上传文件表')
->addColumn(Column::char('upload_type', 20)->setDefault('local')->setComment('存储位置')) ->addColumn(Column::char('upload_type', 20)->setDefault('local')->setComment('存储位置'))
->addColumn(Column::char('original_name')->setDefault('')->setComment('文件原名')) ->addColumn(Column::char('original_name')->setDefault('')->setComment('文件原名'))
->addColumn(Column::char('url')->setDefault('')->setComment('物理路径')) ->addColumn(Column::char('url')->setDefault('')->setComment('链接'))
->addColumn(Column::char('save_name')->setDefault('')->setComment('存储名称'))
->addColumn(Column::char('image_width', 30)->setDefault('')->setComment('宽度')) ->addColumn(Column::char('image_width', 30)->setDefault('')->setComment('宽度'))
->addColumn(Column::char('image_height', 30)->setDefault('')->setComment('高度')) ->addColumn(Column::char('image_height', 30)->setDefault('')->setComment('高度'))
->addColumn(Column::integer('image_frames', 10)->setUnsigned()->setDefault(0)->setComment('图片帧数')) ->addColumn(Column::integer('image_frames', 10)->setUnsigned()->setDefault(0)->setComment('图片帧数'))