feat: 操作删除文件可直接删除实际文件

This commit is contained in:
augushong
2025-08-31 11:34:56 +08:00
parent cca7dba632
commit 35e7eb9a0e
2 changed files with 31 additions and 0 deletions

View File

@@ -5,6 +5,7 @@ namespace base\admin\controller\system;
use app\admin\model\SystemUploadfile;
use app\admin\service\annotation\ControllerAnnotation;
use app\common\controller\AdminController;
use app\common\service\UploadService;
use think\App;
/**
@@ -20,4 +21,29 @@ class UploadfileBase extends AdminController
parent::__construct($app);
$this->model = new SystemUploadfile();
}
/**
* @\app\admin\service\annotation\NodeAnotation(title="删除")
*/
public function delete($id)
{
$this->checkPostRequest();
$row = $this->model->whereIn('id', $id)->select();
$row->isEmpty() && $this->error('数据不存在');
try {
$upload_service_map = [];
foreach ($row as $row_item) {
if (!isset($upload_service_map[$row_item['upload_type']])) {
$upload_service_map[$row_item['upload_type']] = new UploadService($row_item['upload_type']);
}
$upload_service = $upload_service_map[$row_item['upload_type']];
$upload_service->delete($row_item['save_name']);
$save = $row_item->delete();
}
} catch (\Exception $e) {
$this->error('删除失败:' . $e->getMessage());
}
$save ? $this->success('删除成功') : $this->error('删除失败');
}
}

View File

@@ -165,4 +165,9 @@ class UploadServiceBase
return $response;
}
public function delete($save_name)
{
return Filesystem::disk($this->uploadType)->delete($save_name);
}
}