我正在使用Backpackforlaravel设置网站的后端区域。我在ProjectCrudController中添加了一个图像字段:
$this->crud->addField([
'label' => "Project Image",
'name' => "image",
'type' => 'image',
'upload' => true,
], 'both');
在我的模型项目中,我有一个这样的变体:
public function setImageAttribute($value)
{
$attribute_name = "image";
$disk = "public_folder";
$destination_path = "uploads/images";
// if the image was erased
if ($value==null) {
// delete the image from disk
\Storage::disk($disk)->delete($this->image);
// set null in the database column
$this->attributes[$attribute_name] = null;
}
// if a base64 was sent, store it in the db
if (starts_with($value, 'data:image'))
{
// 0. Make the image
$image = \Image::make($value);
// 1. Generate a filename.
$filename = md5($value.time()).'.jpg';
// 2. Store the image on disk.
\Storage::disk($disk)->put($destination_path.'/'.$filename, $image->stream());
// 3. Save the path to the database
$this->attributes[$attribute_name] = $destination_path.'/'.$filename;
}
}
在我的公共文件夹我有/上传/图像/文件夹中。
但是,当我要保存项目时,出现以下错误:
FilesystemManager.php第121行中的InvalidArgumentException:
不支持驱动程序[]。
我filesystems.php文件在我的配置文件夹,如下所示:
<?php
return [
'default' => 'local',
'cloud' => 's3',
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'visibility' => 'public',
],
's3' => [
'driver' => 's3',
'key' => 'your-key',
'secret' => 'your-secret',
'region' => 'your-region',
'bucket' => 'your-bucket',
],
'uploads' => [
'driver' => 'local',
'root' => public_path('uploads'),
],
],
'storage' => [
'driver' => 'local',
'root' => storage_path(),
],
];
这可能是什么问题?我正在使用Laravel Homestead版本2.2.2。
在这里,您将定义$disk
为public_folder
:
public function setImageAttribute($value)
{
$attribute_name = "image";
$disk = "public_folder";
$destination_path = "uploads/images";
但是在您的filesystem.php中,您没有public_folder磁盘
您需要创建一个新的“ public_folder”磁盘
'disks' => [
'public_folder' => [
'driver' => 'local',
'root' => public_path('uploads'),
],
或将$disk
变量重命名为另一个磁盘:
public function setImageAttribute($value)
{
$attribute_name = "image";
//Uploads disk for example
$disk = "uploads";
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句