diff --git a/app/Admin/Controllers/ArticleController.php b/app/Admin/Controllers/ArticleController.php index c6825c1..ce77a01 100644 --- a/app/Admin/Controllers/ArticleController.php +++ b/app/Admin/Controllers/ArticleController.php @@ -90,7 +90,7 @@ class ArticleController extends AdminController amis()->DateTimeControl('published_at', __('admin.articles.published_at'))->format('YYYY-MM-DD HH:mm:ss')->description(__('admin.articles.published_at_remark')), amis()->SwitchControl('is_enable', __('admin.articles.is_enable'))->value(false), amis()->SwitchControl('is_recommend', __('admin.articles.is_recommend'))->value(false), - Components::make()->chunkFileControl('appendixes', __('admin.articles.appendixes'), '.xsl,.xlsx,.txt,.doc,.docx,.pdf,.pptx'), + Components::make()->fileControl('appendixes', __('admin.articles.appendixes'), '.xsl,.xlsx,.txt,.doc,.docx,.pdf,.pptx'), ])->md(4), amis()->Wrapper()->body([ Components::make()->fuEditorControl('content', __('admin.articles.content')), diff --git a/app/Services/Admin/ArticleService.php b/app/Services/Admin/ArticleService.php index 14c4913..3fcc219 100644 --- a/app/Services/Admin/ArticleService.php +++ b/app/Services/Admin/ArticleService.php @@ -32,7 +32,7 @@ class ArticleService extends BaseService $data['published_at'] = now(); } - $data['cover'] = $this->saveImage('cover', 'articles/cover')[0]; + $data['cover'] = $this->saveImage('cover', 'articles/cover')[0] ?? ''; $data['appendixes'] = $this->saveFile('appendixes', 'articles/appendixes'); foreach ($data as $k => $v) { @@ -59,7 +59,7 @@ class ArticleService extends BaseService } if(isset($data['cover'])){ - $data['cover'] = $this->saveImage('cover', 'articles/cover')[0]; + $data['cover'] = $this->saveImage('cover', 'articles/cover')[0] ?? ''; } if(isset($data['appendixes'])){ diff --git a/app/Traits/UploadTrait.php b/app/Traits/UploadTrait.php index 4a47535..cf5f7f0 100644 --- a/app/Traits/UploadTrait.php +++ b/app/Traits/UploadTrait.php @@ -4,6 +4,7 @@ namespace App\Traits; use Slowlyo\OwlAdmin\Admin; use Illuminate\Support\Arr; +use Illuminate\Support\Str; use Illuminate\Support\Facades\Storage; trait UploadTrait @@ -105,6 +106,12 @@ trait UploadTrait case 'uploaded': if(isset($file['name'])){ $filePath = $path.'/'.$file['name']; + if(Str::startsWith($file['value'], ['http://', 'https://'])){ + $fileUrl = parse_url($file['value']); + $fileValue = ltrim($fileUrl['path'], '/'); + }else{ + $fileValue = $file['value']; + } Storage::disk(Admin::config('admin.upload.disk'))->move($file['value'], $filePath); $fileArr[] = Storage::disk(Admin::config('admin.upload.disk'))->url($filePath); }