Commit 75b8b392 authored by chentianyu's avatar chentianyu

设置是否自动保存记录到数据库

parent 5d7d5af3
......@@ -38,6 +38,12 @@ class UploadOssService
*/
private $appName;
/**
* 是否自动保存数据库
* @var bool
*/
private $autoSaveDataBase = true;
public static $options = [
'maxSize' => 10 * 1024 * 1024, // 文件大小,10M
'mime' => ['jpeg', 'png', 'gif', 'jpg', 'svg', 'txt', 'pdf', 'xlsx', 'xls', 'doc', 'docx', 'rar', 'zip', 'csv'], // 允许上传的文件类型
......@@ -53,11 +59,21 @@ class UploadOssService
$this->appName = $this->config->get('app_name');
}
/**
* 设置是否自动保存记录到数据库
* @param bool $bool
* @author chentianyu
*/
public function setAutoSaveDataBase(bool $bool)
{
$this->autoSaveDataBase = $bool;
}
/**
* 上传图片
* @param \Hyperf\HttpMessage\Upload\UploadedFile $image
* @param string $module
* @return array
* @return array|string
* @throws \Meibuyu\Common\Exceptions\HttpResponseException
* @author chentianyu
*/
......@@ -69,26 +85,31 @@ class UploadOssService
$options = ['mime' => ['jpeg', 'png', 'gif', 'jpg', 'svg']];
$filePath = 'oss2/' . $this->appDev . "/" . $this->appName . "/$module/images/" . today() . "/$userId/" . $clientFilename;
$this->upload($image, $filePath, $options);
$model = new FileModel();
$model = $model->newInstance([
'type' => 'image',
'module' => $module,
'user_id' => $userId,
'source_name' => $clientFilename,
'name' => $fileName,
'path' => $this->urlPrefix . $filePath,
'ext' => $ext,
'size' => num_2_file_size($image->getSize()),
]);
$model->save();
return $model->toArray();
if($this->autoSaveDataBase){
$model = new FileModel();
$model = $model->newInstance([
'type' => 'image',
'module' => $module,
'user_id' => $userId,
'source_name' => $clientFilename,
'name' => $fileName,
'path' => $this->urlPrefix . $filePath,
'ext' => $ext,
'size' => num_2_file_size($image->getSize()),
]);
$model->save();
return $model->toArray();
}else{
return $this->urlPrefix . $filePath;
}
}
/**
* 上传文件
* @param \Hyperf\HttpMessage\Upload\UploadedFile $image
* @param string $module
* @return array
* @return array|string
* @throws \Meibuyu\Common\Exceptions\HttpResponseException
* @author chentianyu
*/
......@@ -99,19 +120,24 @@ class UploadOssService
$fileName = $uniqueFileName ? ($this->genUniqueFileName() . '.' . $ext) : $clientFilename;
$filePath = 'oss2/' . $this->appDev . "/" . $this->appName . "/$module/files/" . today() . "/$userId/" . $clientFilename;
$this->upload($file, $filePath, $options);
$model = new FileModel();
$model = $model->newInstance([
'type' => 'file',
'module' => $module,
'user_id' => $userId,
'source_name' => $clientFilename,
'name' => $fileName,
'path' => $this->urlPrefix . $filePath,
'ext' => $ext,
'size' => num_2_file_size($file->getSize()),
]);
$model->save();
return $model->toArray();
if($this->autoSaveDataBase){
$model = new FileModel();
$model = $model->newInstance([
'type' => 'file',
'module' => $module,
'user_id' => $userId,
'source_name' => $clientFilename,
'name' => $fileName,
'path' => $this->urlPrefix . $filePath,
'ext' => $ext,
'size' => num_2_file_size($file->getSize()),
]);
$model->save();
return $model->toArray();
}else{
return $this->urlPrefix . $filePath;
}
}
/**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment