Laravel Voyager BREAD 图像编辑和删除问题
Laravel Voyager BREAD Image Edit and Delete Issue
我 运行 使用 voyager BREAD 系统上传图片时遇到问题。如果我使用 BREAD 删除或更新图像,则旧图像不会被替换或删除。它仍然在存储目录中。我在 laravel 5.5 中使用最新版本的航海者。这个问题有什么解决办法吗?提前谢谢你。
嘿,请检查项目 vendor/tcg/voyager/src/http/controllers/VoyagerBreadController.php
目录中的以下文件
并检查这个
public function deleteBreadImages($data, $rows) {...}
第 403 行的函数。
在此函数中找到 $this->deleteFileIfExists($data->{$row->field});
取消注释并检查。
希望对你有帮助
Voyager 1.2class文件
[=Laravel中不再有public function deleteBreadImages($data, $rows) {...}
12=]
经过两天谷歌搜索同一问题后,我找到了硬性解决方案...
在我的例子中,图像字段名称是 img,型号名称是 Company
在模型 BREAD 更新
时执行代码
适用于 航海者 1.2
希望对您有所帮助))
use Storage;
class Company extends Model
{
public static function boot()
{
parent::boot();
static::updating(function($model)
{
// Check if Old File Exists
$oldFileExists = Storage::disk('public')->exists($model->original['img']);
// If Old File Exists DELETE it, else Continue Adding New Image
if($oldFileExists)
{
//Get File Extension:: .jpg .png .gif
$fileExt = substr(strrchr($model->original['img'], "."), 0);
//If File is not .GIF
if($fileExt != '.gif'){
// Delete Old Non-GIF Image
Storage::disk('public')->delete($model->original['img']);
}
// Find .gif , -static.gif Old Images And Delete
else{
// filename-static.gif
$staticOld = str_replace($fileExt,"-static".$fileExt,$model->original['img']);
// Delete Old Image.gif
Storage::disk('public')->delete($model->original['img']);
// Delete Old Image-static .gif if Exists
if($staticOld) Storage::disk('public')->delete($staticOld);
}
}
});
}
}
我 运行 使用 voyager BREAD 系统上传图片时遇到问题。如果我使用 BREAD 删除或更新图像,则旧图像不会被替换或删除。它仍然在存储目录中。我在 laravel 5.5 中使用最新版本的航海者。这个问题有什么解决办法吗?提前谢谢你。
嘿,请检查项目 vendor/tcg/voyager/src/http/controllers/VoyagerBreadController.php
目录中的以下文件
并检查这个
public function deleteBreadImages($data, $rows) {...}
第 403 行的函数。
在此函数中找到 $this->deleteFileIfExists($data->{$row->field});
取消注释并检查。
希望对你有帮助
Voyager 1.2class文件
[=Laravel中不再有public function deleteBreadImages($data, $rows) {...}
12=]
经过两天谷歌搜索同一问题后,我找到了硬性解决方案...
在我的例子中,图像字段名称是 img,型号名称是 Company
在模型 BREAD 更新
适用于 航海者 1.2 希望对您有所帮助))
use Storage;
class Company extends Model
{
public static function boot()
{
parent::boot();
static::updating(function($model)
{
// Check if Old File Exists
$oldFileExists = Storage::disk('public')->exists($model->original['img']);
// If Old File Exists DELETE it, else Continue Adding New Image
if($oldFileExists)
{
//Get File Extension:: .jpg .png .gif
$fileExt = substr(strrchr($model->original['img'], "."), 0);
//If File is not .GIF
if($fileExt != '.gif'){
// Delete Old Non-GIF Image
Storage::disk('public')->delete($model->original['img']);
}
// Find .gif , -static.gif Old Images And Delete
else{
// filename-static.gif
$staticOld = str_replace($fileExt,"-static".$fileExt,$model->original['img']);
// Delete Old Image.gif
Storage::disk('public')->delete($model->original['img']);
// Delete Old Image-static .gif if Exists
if($staticOld) Storage::disk('public')->delete($staticOld);
}
}
});
}
}