处理图片文件上传问题
parent
64ff120a9e
commit
0168489311
|
|
@ -34,7 +34,9 @@ class AdController extends AdminController
|
||||||
amis()->TableColumn('address', __('admin.ads.address'))->type('mapping')
|
amis()->TableColumn('address', __('admin.ads.address'))->type('mapping')
|
||||||
->map(Keyword::allChildrenOfKey('banner_address')->pluck('name', 'key')->toArray())
|
->map(Keyword::allChildrenOfKey('banner_address')->pluck('name', 'key')->toArray())
|
||||||
->itemSchema(amis()->Tag()->label('${item}')->color(Admin::setting()->get('system_theme_setting')['theme_color'] ?? '#1677ff')),
|
->itemSchema(amis()->Tag()->label('${item}')->color(Admin::setting()->get('system_theme_setting')['theme_color'] ?? '#1677ff')),
|
||||||
amis()->TableColumn('sort', __('admin.ads.sort')),
|
amis()->TableColumn('sort', __('admin.ads.sort'))->quickEdit(
|
||||||
|
amis()->NumberControl()->min(0)->saveImmediately(true)
|
||||||
|
),
|
||||||
amis()->TableColumn('resource', __('admin.ads.resource'))->type('image')->height('50px')->width('150px')->enlargeAble(true),
|
amis()->TableColumn('resource', __('admin.ads.resource'))->type('image')->height('50px')->width('150px')->enlargeAble(true),
|
||||||
amis()->TableColumn('remark', __('admin.ads.remark')),
|
amis()->TableColumn('remark', __('admin.ads.remark')),
|
||||||
amis()->TableColumn('published_at', __('admin.ads.published_at'))->remark(__('admin.ads.published_at_remark')),
|
amis()->TableColumn('published_at', __('admin.ads.published_at'))->remark(__('admin.ads.published_at_remark')),
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ class Storage implements CastsAttributes
|
||||||
*/
|
*/
|
||||||
public function get($model, $key, $value, $attributes)
|
public function get($model, $key, $value, $attributes)
|
||||||
{
|
{
|
||||||
return $value ? (Str::startsWith($value, ['http://', 'https://']) ? $value : StorageFacades::disk(Admin::config('admin.upload.disk'))->url($value)).'?time='.time() : '';
|
return $value ? (Str::startsWith($value, ['http://', 'https://']) ? $value : StorageFacades::disk(Admin::config('admin.upload.disk'))->url($value)) : '';
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,6 @@ class Ad extends Model
|
||||||
'updated_at' => 'datetime',
|
'updated_at' => 'datetime',
|
||||||
'published_at' => 'datetime',
|
'published_at' => 'datetime',
|
||||||
'is_enable' => 'boolean',
|
'is_enable' => 'boolean',
|
||||||
'resource' => Storage::class,
|
|
||||||
'jump_config' => 'array',
|
'jump_config' => 'array',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,6 @@ class Article extends Model
|
||||||
'published_at' => 'datetime:Y-m-d H:i:s',
|
'published_at' => 'datetime:Y-m-d H:i:s',
|
||||||
'is_enable' => 'boolean',
|
'is_enable' => 'boolean',
|
||||||
'is_recommend' => 'boolean',
|
'is_recommend' => 'boolean',
|
||||||
'cover' => Storage::class,
|
|
||||||
'appendixes' => 'array',
|
'appendixes' => 'array',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,9 @@ class AdService extends BaseService
|
||||||
$data['published_at'] = now();
|
$data['published_at'] = now();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(isset($data['resource'])){
|
||||||
$data['resource'] = $this->saveImage('resource', 'ads/resource')[0];
|
$data['resource'] = $this->saveImage('resource', 'ads/resource')[0];
|
||||||
|
}
|
||||||
|
|
||||||
//处理跳转配置
|
//处理跳转配置
|
||||||
$jumpType = Arr::get($data, 'jump_type');
|
$jumpType = Arr::get($data, 'jump_type');
|
||||||
|
|
|
||||||
|
|
@ -57,6 +57,7 @@ class ArticleService extends BaseService
|
||||||
if ($isEnable && empty($publishedAt) && empty($model->published_at)) {
|
if ($isEnable && empty($publishedAt) && empty($model->published_at)) {
|
||||||
$data['published_at'] = now();
|
$data['published_at'] = now();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isset($data['cover'])){
|
if(isset($data['cover'])){
|
||||||
$data['cover'] = $this->saveImage('cover', 'articles/cover')[0];
|
$data['cover'] = $this->saveImage('cover', 'articles/cover')[0];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -70,7 +70,7 @@ trait UploadTrait
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 表单提交时,转存实际目录,并保留上传时文件名称;
|
* 表单提交时,转存实际目录,并保留上传时文件名称;文件保存全路径
|
||||||
*/
|
*/
|
||||||
public function saveFile($field = 'file', $path)
|
public function saveFile($field = 'file', $path)
|
||||||
{
|
{
|
||||||
|
|
@ -82,24 +82,38 @@ trait UploadTrait
|
||||||
|
|
||||||
$fileArr = [];
|
$fileArr = [];
|
||||||
//判断是否多个文件;
|
//判断是否多个文件;
|
||||||
if(isset($file['name'])){
|
if(is_string($file) || isset($file['id'])){
|
||||||
$files = [$file];
|
$files = [$file];
|
||||||
}else{
|
}else{
|
||||||
$files =$file;
|
$files = $file;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($files){
|
||||||
foreach($files as $file){
|
foreach($files as $file){
|
||||||
if(is_array($file)){
|
if(is_array($file) && isset($file['state'])){
|
||||||
|
switch($file['state']){
|
||||||
|
case 'init':
|
||||||
|
if(strpos($file['value'], 'temporary') !== false){
|
||||||
|
$filePath = $path.'/'.$file['name'];
|
||||||
|
Storage::disk(Admin::config('admin.upload.disk'))->move($file['value'], $filePath);
|
||||||
|
$fileArr[] = Storage::disk(Admin::config('admin.upload.disk'))->url($filePath);
|
||||||
|
}else{
|
||||||
|
$fileArr[] = $file['value'];
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'uploaded':
|
||||||
if(isset($file['name'])){
|
if(isset($file['name'])){
|
||||||
$filePath = $path.'/'.$file['name'];
|
$filePath = $path.'/'.$file['name'];
|
||||||
Storage::disk(Admin::config('admin.upload.disk'))->move($file['value'], $filePath);
|
Storage::disk(Admin::config('admin.upload.disk'))->move($file['value'], $filePath);
|
||||||
$fileArr[] = $filePath;
|
$fileArr[] = Storage::disk(Admin::config('admin.upload.disk'))->url($filePath);
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
$fileArr[] = $file;
|
$fileArr[] = $file;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return $fileArr;
|
return $fileArr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue